2016-07-31 6 views
1

Я пытаюсь создать сервер Websocket с использованием библиотеки SuperSocket, но документация ограничена, и я не могу найти какую-либо информацию о том, как настроить & настроить сервер 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

Просто ради других, пришедших к этому неотвеченному вопросу. У ОП есть метод, почти правильный, возможно, объявление емкости вмешивается, не уверен, не играло с ним, но с небольшим изменением на создание слушателя, оно работает.

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); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^