SuperSocket 1.4系列文档(2) SuperSocket的基本配置

配置文件示例

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="socketServer" type="SuperSocket.SocketEngine.Configuration.SocketServiceConfig, SuperSocket.SocketEngine"/>
    </configSections>
    <appSettings>
        <add key="ServiceName" value="BroardcastService"/>
    </appSettings>
    <socketServer loggingMode="IndependantFile">
        <servers>
            <server name="BroardcastServer"
                    serviceName="BroardcastService"
                    ip="Any" port="911" mode="Async">
            </server>
        </servers>
        <services>
            <service name="BroardcastService"
                     type="SuperSocket.QuickStart.BroadcastService.BroadcastServer, SuperSocket.QuickStart.BroadcastService" />
        </services>
    </socketServer>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
    </startup>
</configuration>

 

服务名称

<appSettings>
    <add key="ServiceName" value="BroardcastService"/>
</appSettings>

这个配置项将被用作SuperSocket系统服务的名称。如果ServiceName设置成BroardcastService, 则运行InstallService.bat这个批处理文件之后, SuperSocket系统服务将以"BroadcastService"这个名字安装到系统之中。

SuperSocket的根配置

<socketServer loggingMode="IndependantFile">
    ....
</socketServer>
  • loggingMode

ShareFile: 多个服务器实例共享同日志文件,默认选项;IndependantFile:多个服务器实例拥有独立的日志文件;Console: 控制台日志输出,只在控制台应用程序中有效。

  • maxWorkingThreads:线程池最大工作线程数量
  • minWorkingThreads:线程池最小工作线程数量
  • maxCompletionPortThreads:线程池最大完成端口线程数量
  • minCompletionPortThreads:线程池最小完成端口线程数量

服务器实例配置

<servers>
            <server name="BroardcastServer"
                    serviceName="BroardcastService"
                    ip="Any"
                    port="911"
                    mode="Async">
            </server>
</servers>
  • 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, 单位为秒。

多服务器实例的配置

设置不同的实例名称和IP端口组合即可。

<servers>
        <server name="BroardcastServerA"
                serviceName="BroardcastService"
                ip="Any"
                port="911"
                mode="Async">
        </server>
        <server name="BroardcastServerB"
                serviceName="BroardcastService"
                ip="Any"
                port="912"
                mode="Async">
        </server>
</servers>

服务配置

<services>
        <service name="BroardcastService"
                 type="SuperSocket.QuickStart.BroadcastService.BroadcastServer, SuperSocket.QuickStart.BroadcastService" />
</services>
  • name: 服务定义的名称,即服务器实例节点serviceName所对应的名称。
  • type: 该服务所对应AppServer类型的完整名称。
posted @ 2011-04-20 21:53 江大渔 阅读(...) 评论(...) 编辑 收藏