Как создать сервер SuperSocket WebSocket в коде

Я пытаюсь создать сервер Websocket с использованием библиотеки SuperSocket, но документация ограничена, и я не могу найти никакой информации о том, как настроить и настроить сервер Websocket.

Мои ключевые требования:

  1. Создайте Сервер в коде.
  2. Настройка нескольких слушателей
  3. Укажите пользовательские настройки для числа потоков рабочих / пулов.

        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);
}
Другие вопросы по тегам