【问题标题】:How to create a SuperSocket WebSocket server in code如何在代码中创建 SuperSocket WebSocket 服务器
【发布时间】:2016-07-31 08:13:53
【问题描述】:

我正在尝试使用 SuperSocket 库创建 Websocket 服务器,但文档有限,我找不到有关如何设置和配置 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 循环并取消注释它上面的两行,那么它就可以工作,尽管它只侦听一个端口。

【问题讨论】:

    标签: c# supersocket.net


    【解决方案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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2015-09-29
      • 1970-01-01
      • 2018-01-20
      • 2013-03-16
      相关资源
      最近更新 更多