事实上, 服务器管理器是一个独立的 SuperSocket AppServer。 要让起作用,首先你要先确定下面的程序集在你的工作目录中存在:
SuperSocket.ServerManager.dll (从源代码目录 "Management\Server" 编译)
SuperSocket.WebSocket.dll (从源代码目录 "Protocols\WebSocket" 编译)
然后你需要把它和其它你要监控的服务器实例配置在一起:
<superSocket isolation="Process">
<servers>
<server name="ServerA"
serverTypeName="SampleServer"
ip="Any" port="2012">
<commandAssemblies>
<add assembly="SuperSocket.QuickStart.SampleServer.CommandAssemblyA"></add>
<add assembly="SuperSocket.QuickStart.SampleServer.CommandAssemblyB"></add>
</commandAssemblies>
</server>
<server name="ServerB"
serverTypeName="SampleServer"
ip="Any" port="2013">
<commandAssemblies>
<add assembly="SuperSocket.QuickStart.SampleServer.CommandAssemblyB"></add>
<add assembly="SuperSocket.QuickStart.SampleServer.CommandAssemblyC"></add>
</commandAssemblies>
</server>
<server name="ManagementServer"
serverType="SuperSocket.ServerManager.ManagementServer, SuperSocket.ServerManager">
<listeners>
<add ip="Any" port="4502" />
</listeners>
<users>
<user name="kerry" password="123456"/>
</users>
</server>
</servers>
<serverTypes>
<add name="SampleServer"
type="SuperSocket.QuickStart.ServerManagerSample.SampleServer, SuperSocket.QuickStart.ServerManagerSample" />
</serverTypes>
</superSocket>
在上面的配置中, ServerA 和 ServerB 是你要监控的普通服务器实例。另外,你需要加一个服务器类型为 "SuperSocket.ServerManager.ManagementServer, SuperSocket.ServerManager"的服务器实例节点。你可以看到,这个服务器实例下的子节点 "users" 定义了允许连接该服务器的用户名和密码。
如果你要用Silverlight客户端连接此服务器管理器,你还应该在配置中增加一个策略服务器节点:
<server name="SilverlightPolicyServer"
serverType="SuperSocket.Facility.PolicyServer.SilverlightPolicyServer, SuperSocket.Facility"
ip="Any" port="943"
receiveBufferSize="32"
maxConnectionNumber="10"
policyFile="Config\Silverlight.config"
clearIdleSession="true">
</server>
通常你不必关心策略服务器的状态,所以你最好把策略服务器的名字加入到管理器服务器配置的excludedServers属性中,这样,Silverlight策略服务器不会在服务器管理器客户端中显示。
excludedServers="SilverlightPolicyServer"