C# 如何在代码中创建SuperSocket WebSocket服务器

C# 如何在代码中创建SuperSocket WebSocket服务器,c#,supersocket.net,C#,Supersocket.net,我正在尝试使用SuperSocket库创建Websocket服务器,但文档有限,我找不到有关如何设置和配置Websocket服务器的任何信息 我的主要要求是: 用代码创建服务器 设置多个侦听器 提供工作线程/池线程数的自定义设置 server = new WebSocketServer(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig(); serverConfig.MaxConnec

我正在尝试使用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();
    
    server=newwebsocketserver();
    var serverConfig=new SuperSocket.SocketBase.Config.serverConfig();
    serverConfig.MaxConnectionNumber=100000;
    //serverConfig.Port=222;
    //serverConfig.ListenBacklog=5000;
    var列表=新列表(20);
    int端口=223;
    对于(int i=0;i<1;i++)
    {
    var listener=new SuperSocket.SocketBase.Config.ListenerConfig();
    端口=端口;
    listener.Backlog=1000;
    listener.Ip=“Any”;
    listener.Security=“无”;
    端口++;
    添加(侦听器);
    }
    serverConfig.Listeners=list;
    server.Setup(serverConfig);
    server.NewSessionConnected+=服务器_NewSessionConnected;
    server.SessionClosed+=server\u SessionClosed;
    server.NewMessageReceived+=server\u 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);
    }
    
    var list=newlist();
    int端口=223;
    对于(int i=0;i<21;i++)
    {
    var listener=new SuperSocket.SocketBase.Config.ListenerConfig();
    端口=端口;
    端口++;
    添加(侦听器);
    }