Как создать сервер SuperSocket WebSocket в коде
Я пытаюсь создать сервер Websocket с использованием библиотеки SuperSocket, но документация ограничена, и я не могу найти никакой информации о том, как настроить и настроить сервер 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 и раскомментирую две строки над ним, он будет работать, хотя он прослушивает только один порт.
1 ответ
Просто ради других, приходящих на этот вопрос без ответа. У 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);
}