SuperSocket入门(三)-Telnet多服务实例和服务实例交互配置详解
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!--log 日志记录-->
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
<!--SocketEngine-->
<section name="superSocket" type="SuperSocket.SocketEngine.Configuration.SocketServiceConfig, SuperSocket.SocketEngine"/>
</configSections>
<!--服务信息描述,在window服务模式下的名称标识-->
<appSettings>
<add key="ServiceName" value="SupperSocketService"/>
<add key="ServiceDescription" value="黄昏前黎明后的Socket程序"/>
</appSettings>
<!--SuperSocket服务配置信息 serverType是项目的服务如我自定义的myserver-->
<!--name: 实例名称
serverType: 实例运行的AppServer类型
ip: 侦听ip
port: 侦听端口-->
<superSocket>
<servers>
<!--textEncoding 编码方式"gb2312","utf-8" 默认是acii-->
<server name="SuperSocketDemo" textEncoding="gb2312" serverType="SuperSocketDemo.Server.MyServer,SuperSocketDemo" ip="Any" port="" maxConnectionNumber="">
</server>
</servers>
</superSocket>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
</startup>
</configuration>
App.config
1、服务名称:
<appSettings>
<add key="ServiceName" value="SupperSocketService"/>
- name: 服务器实例名称
- serviceName: 指定服务器实例运行的服务的名称。此名称为定义此服务器实例运行的服务的节点的名称。
- ip: 指定socket服务器监听的服务器IP地址。Any: 监听本机所有的IPv4地址;IPv6Any, 监听本机所有IPv6的地址。
- port: 指定socket服务器监听的端口。
- mode: Sync:同步模式;Async: 异步模式;Udp: Udp协议
- disabled: true或者false。是否禁用该服务器实例,默认为否。
- readTimeOut: 从socket读取数据超时时间,默认为0。
- sendTimeOut: 从socket发送数据超时时间,默认为0。
- maxConnectionNumber: 最大允许的客户端连接数目,默认为100。
- receiveBufferSize: 用于接收数据的缓冲区大小,默认为2048。
- sendBufferSize: 用户发送数据的缓冲区大小,默认为2048。
- logCommand: true或者false,是否记录命令。
- clearIdleSession: true或者false, 是否清除空闲会话,默认为false。
- clearIdleSessionInterval: 清除空闲会话的时间间隔,默认为120,单位为秒。
- idleSessionTimeOut: 会话超时时间,默认值为300,单位为秒。
- security: Empty, Tls或者Ssl3。 Socket服务器所采用的传输层加密协议,默认值为空。
- maxCommandLength: 最大允许的命令长度,默认值为1024。
- disableSessionSnapshot: 是否禁用会话快照,默认值为false。(1.4 SP1)
- sessionSnapshotInterval: 生成会话快照的时间间隔。默认值为5,单位为秒。
- keepAliveTime: keep alive消息发送时间间隔。默认值为600, 单位为秒。
- keepAliveInterval:keep alive失败重试的时间间隔。默认值为60, 单位为秒。
public class MyServerA : AppServer
{
private IDespatchServer m_DespatchServer; protected override void OnStartup()
{
m_DespatchServer = SocketServerManager.GetServerByName("ServerB") as IDespatchServer;
base.OnStartup();
} internal void DespatchMessage(string targetSessionKey, string message)
{
m_DespatchServer.DispatchMessage(targetSessionKey, message);
}
}
MyServerA 类
public class MyServerB : AppServer, IDespatchServer
{
public void DispatchMessage(string sessionKey, string message)
{
var session = GetAppSessionByIndentityKey(sessionKey);
if (session == null)
return; session.SendResponse(message);
}
}
}
MyServerB 类
interface IDespatchServer
{
void DispatchMessage(string sessionKey, string message);
}
IDespatchServer类
SuperSocket入门(三)-Telnet多服务实例和服务实例交互配置详解的更多相关文章
- Java从入门到精通——数据库篇Mongo DB 安装启动及配置详解
一.概述 Mongo DB 下载下来以后我们应该如何去安装启动和配置才能使用Mongo DB,本篇博客就给大家讲述一下Mongo DB的安装启动及配置详解. 二.安装 1.下载Mongo DB ...
- centos 6.5环境利用iscsi搭建SAN网络存储服务及服务端target和客户端initiator配置详解
一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够 ...
- 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解
注意:这里不会讲到nginx流媒体模块如何安装的问题,只研究rtmp,hls直播和录制相关的nginx服务器配置文件的详细用法和说明.可以对照这些命令详解配置nginx -rtmp服务 一.nginx ...
- 2-4、nginx特性及基础概念-nginx web服务配置详解
Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...
- 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解
老猿Python博文目录 老猿Python博客地址 一.概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当 ...
- Spring之旅第三篇-Spring配置详解
上一篇学习了IOC的概念并初步分析了实现原理,这篇主要学习Spring的配置,话不多说,让我们开始! 一.Bean元素配置 1.1 基本配置 看一个最基本的bean配置 <bean name=& ...
- logback -- 配置详解 -- 三 -- <encoder>
附: logback.xml实例 logback -- 配置详解 -- 一 -- <configuration>及子节点 logback -- 配置详解 -- 二 -- <appen ...
- log4j.properties配置详解与实例
log4j.properties配置详解与实例 第一步:加入log4j-1.x.x.jar到lib下. 第二步:在工程的src下下建立log4j.properties.内容如下: #OFF,syste ...
- 【转】logback logback.xml常用配置详解(三) <filter>
原创文章,转载请指明出处:http://aub.iteye.com/blog/1110008, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
随机推荐
- html5 canvas 实现简单的画图
今天早上看了一下 canvas 前端画图,数据可视化, 百度的 echart.js , d3等 js 库都已经提供了强大的绘制各种图形的 API. 下面记录一下 有关canvas 绘图的基本知识: ...
- 【poj解题】1028
stack的应用 #include<iostream> #include<stack> #include<stdio.h> #include<stdlib.h ...
- [iOS]C语言技术视频-01-变量的定义
下载地址: 链接: http://pan.baidu.com/s/1eQJaVwY 密码: c7j8
- .NET的对象映射工具AutoMapper使用笔记
AutoMapper是一个.NET的对象映射工具. 项目地址:https://github.com/AutoMapper/AutoMapper. 帮助文档:https://github.com/Aut ...
- Spring--注入类型--setter
setter注入: package com.bjsxt.service; import com.bjsxt.dao.UserDAO; import com.bjsxt.model.User; publ ...
- UVA 11149 Power of Matrix
矩阵快速幂. 读入A矩阵之后,马上对A矩阵每一个元素%10,否则会WA..... #include<cstdio> #include<cstring> #include< ...
- 乘方快速幂 OR 乘法快速幂
关于快速幂这个算法,已经不想多说,很早也就会了这个算法,但是原来一直靠着模板云里雾里的,最近重新学习,发现忽视了一个重要的问题,就是若取模的数大于int型,即若为__int64的时候应该怎么办,这样就 ...
- 3个人一起写的EI论文可以检索到啦~ --> Exploring the use of a 3D Virtual Environment in Chinese Cultural Transmission
<a href='http://www.engineeringvillage.com/blog/document.url?mid=cpx_10ed754f14b5b7381b6M764b1017 ...
- USB自定义HID设备实现-LPC1768
首先在之前鼠标的基础上修改设备描述符 #include "usbdesc.h" //usb标准设备描述符 const U8 USB_DeviceDescriptor[] = { U ...
- 流水线技术原理和Verilog HDL实现(转)
源:流水线技术原理和Verilog HDL实现 所谓流水线处理,如同生产装配线一样,将操作执行工作量分成若干个时间上均衡的操作段,从流水线的起点连续地输入,流水线的各操作段以重叠方式执行.这使得操作执 ...