我正试图使用SuperSocket库创建一个Websocket服务器,但文档有限,我找不到任何关于如何设置&配置websocket服务器。
我的主要要求是:
- 在代码中创建服务器
- 设置多个侦听器
-
提供工作线程/池线程数的自定义设置。
server = new WebSocketServer(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig(); serverConfig.MaxConnectionNumber = 100000; //serverConfig.Port = 222; //serverConfig.ListenBacklog = 5000; var list = new List<SuperSocket.SocketBase.Config.ListenerConfig>(20); int port = 223; for (int i = 0; i < 1;i++) { var listener = new SuperSocket.SocketBase.Config.ListenerConfig(); listener.Port = port; listener.Backlog = 1000; listener.Ip = "Any"; listener.Security = "None"; port++; list.Add(listener); } serverConfig.Listeners = list; server.Setup(serverConfig); server.NewSessionConnected += server_NewSessionConnected; server.SessionClosed += server_SessionClosed; server.NewMessageReceived += server_NewMessageReceived; server.Start();
我尝试了以下代码,但它导致了以下错误"您无法启动尚未安装的服务器实例"。然而,如果我注释掉for循环并取消注释上面的两行,那么它就可以工作了,尽管它只侦听一个端口
只是为了其他人来回答这个没有答案的问题。OP确实有一个几乎正确的方法,也许容量声明正在干扰,不确定,没有使用它,但只要对侦听器的创建进行一点更改,它就可以工作了。
var list = new List<SuperSocket.SocketBase.Config.ListenerConfig>();
int port = 223;
for (int i = 0; i < 21;i++)
{
var listener = new SuperSocket.SocketBase.Config.ListenerConfig();
listener.Port = port;
port++;
list.Add(listener);
}