Exemple #1
0
        public bool Start(WebSocketServerConfig config)
        {
            ServerConfig serverConfig = new ServerConfig
            {
                Name = config.ServerName,
                MaxConnectionNumber = 10000,            //最大允许的客户端连接数目,默认为100。
                Mode                     = SocketMode.Tcp,
                Port                     = config.Port, //服务器监听的端口。
                ClearIdleSession         = false,       //true或者false, 是否清除空闲会话,默认为false。
                ClearIdleSessionInterval = 120,         //清除空闲会话的时间间隔,默认为120,单位为秒。
                ListenBacklog            = 10,
                ReceiveBufferSize        = 64 * 1024,   //用于接收数据的缓冲区大小,默认为2048。
                SendBufferSize           = 64 * 1024,   //用户发送数据的缓冲区大小,默认为2048。
                                                        //ReceiveBufferSize = 64 * 1024, //用于接收数据的缓冲区大小,默认为2048。
                                                        //SendBufferSize = 64 * 1024,   //用户发送数据的缓冲区大小,默认为2048。
                KeepAliveInterval = 1,                  //keep alive消息发送时间间隔。单位为秒。
                KeepAliveTime     = 60,                 //keep alive失败重试的时间间隔。单位为秒。
                SyncSend          = false
            };

            if (config.Ip != null && !string.IsNullOrWhiteSpace(config.Ip.ToString()))
            {
                serverConfig.Ip = config.Ip.ToString();
            }

            if (!_websocketServer.Setup(serverConfig))
            {
                return(false);
            }

            return(_websocketServer.Start());
        }
        static void Main(string[] args)
        {
            _server = SuperWebSocketServer.GetIntance();

            _server.OnReceiveMessage += Server_OnReceiveMessage;
            _server.OnReceiveBytes   += Server_OnReceiveBytes;
            _server.OnClosed         += Server_OnClosed;

            WebSocketServerConfig config = new WebSocketServerConfig
            {
                ServerName = "WebSocketServerDemo",
                Port       = 58090,
            };

            Console.WriteLine("Starting...");

            var isSuccess = _server.Start(config);

            if (isSuccess)
            {
                Console.WriteLine("Starting Successful.");
            }
            else
            {
                Console.WriteLine("Starting Fail.");
            }

            Console.ReadKey();
        }