void TcpServerInital() { if (appServer != null && appServer.State == SuperSocket.SocketBase.ServerState.Running) { return; } var config = new SuperSocket.SocketBase.Config.ServerConfig() { Name = "SuperSocketServer", ServerTypeName = "SuperSocketServer", ClearIdleSession = true, //60秒执行一次清理90秒没数据传送的连接 ClearIdleSessionInterval = 60, IdleSessionTimeOut = 90, MaxRequestLength = 10000, //最大包长度 Ip = "Any", Port = port, MaxConnectionNumber = 10000,//最大允许的客户端连接数目 }; appServer = new MyServer(app_NewSessionConnected, app_SessionClosed); //移除请求处理方法的注册,因为它和命令不能同时被支持: appServer.NewRequestReceived -= App_NewRequestReceived; appServer.NewRequestReceived += App_NewRequestReceived; appServer.Setup(config); if (!appServer.Start()) { //Message("初始化服务失败"); } //else Message("初始化服务成功"); }
//rcn2 //int portRcn = 49012; //rcn3 //int portRcn = 49013; //rcn4 //int portRcn = 49014; //rcn5 //int portRcn = 49015; //rcn6 //int portRcn = 49016; //rcn7 //int portRcn = 49017; //rcn8 //int portRcn = 49018; //rcn9 //int portRcn = 49019; //rcn10 //int portRcn = 49020; public void OpenSocket() { try { webSocket = new WebSocketServer(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig(); serverConfig.MaxConnectionNumber = 100000; serverConfig.Listeners = new List <SuperSocket.SocketBase.Config.ListenerConfig>() { new SuperSocket.SocketBase.Config.ListenerConfig() { Port = portRcn, Backlog = 1000, Ip = "Any", Security = "None" } }; webSocket.Setup(serverConfig); webSocket.SessionClosed += WebSocket_SessionClosed;; webSocket.NewMessageReceived += WebSocket_NewMessageReceived; webSocket.Start(); } catch (Exception e) { } }
private void Form1_Load(object sender, EventArgs e) { frm = this; try { var server_config = new SuperSocket.SocketBase.Config.ServerConfig() { Port = 80, Ip = "127.0.0.1", MaxConnectionNumber = 100, Mode = SuperSocket.SocketBase.SocketMode.Tcp, Name = "SuperWebSocket Sample Server", MaxRequestLength = 1024 * 1024 * 10 }; setup_server(ref server, server_config); _browser_frm.Show(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void MainForm_Load(object sender, EventArgs e) { var config = new SuperSocket.SocketBase.Config.ServerConfig() { Name = "SSServer", ServerTypeName = "SServer", ClearIdleSession = true, //60秒执行一次清理90秒没数据传送的连接 ClearIdleSessionInterval = 60, IdleSessionTimeOut = 90, MaxRequestLength = 2048, //最大包长度 Ip = "Any", Port = 18888, MaxConnectionNumber = 60000, }; app = new MyServer(app_NewSessionConnected, app_SessionClosed); LogHelper.SetOnLog(new LogHelper.LogEvent((m) => { txtAll.Text = string.Join(" ", m, "\r\n"); txtAll.Select(txtAll.TextLength, 0); txtAll.ScrollToCaret(); })); app.Setup(config); if (!app.Start()) { LogHelper.WriteLog(string.Format("Socket {0}:{1}启动失败,请检查权限或端口是否被占用!", config.Ip, config.Port)); } }
static void Main(string[] args) { var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig(); serverConfig.Port = 5180; serverConfig.TextEncoding = "gb2312"; serverConfig.MaxConnectionNumber = 1000; serverConfig.MaxRequestLength = 102400; serverConfig.Mode = SocketMode.Tcp; appServer = new AppServer(); //配置 if (!appServer.Setup(serverConfig)) { Console.WriteLine("配置失败!"); return; } //启动 if (!appServer.Start()) { Console.WriteLine("启动失败!"); return; } Console.WriteLine("启动成功,按Q退出!"); appServer.NewSessionConnected += new SessionHandler <AppSession>(appServer_NewSessionConnected); appServer.SessionClosed += appServer_NewSessionClosed; appServer.NewRequestReceived += new RequestHandler <AppSession, StringRequestInfo>(appServer_NewRequestReceived); while (Console.ReadKey().KeyChar != 'q') { continue; } //停止 appServer.Stop(); Console.WriteLine("服务已停止"); Console.ReadKey(); }
/// <summary> /// Start server instance. /// </summary> public void start() { if (running_state) { throw new InvalidOperationException("FUElTRIP_Logger.start() is called. However, FUELTRIP_Logger has already been started."); } running_state = true; SuperSocket.SocketBase.Config.ServerConfig appserverConfig = new SuperSocket.SocketBase.Config.ServerConfig(); appserverConfig.DisableSessionSnapshot = false; appserverConfig.SessionSnapshotInterval = 1; appserverConfig.Port = this.WebsocketServerListenPortNo; if (!appServer.Setup(appserverConfig)) { logger.Fatal("Failed to setup websocket server."); } if (!appServer.Start()) { logger.Fatal("Failed to start websocket server."); return; } this.fuelTripCalc.loadTripFuel(); this.websocketClients.start(); logger.Info("Websocket server is starting... ListenPort: " + this.WebsocketServerListenPortNo.ToString()); }
private void Form1_Load(object sender, EventArgs e) { frm = this; try { var server_config_ssl = new SuperSocket.SocketBase.Config.ServerConfig() { Port = Properties.Settings.Default.port, Ip = "127.0.0.1", MaxConnectionNumber = 100, Mode = SuperSocket.SocketBase.SocketMode.Tcp, Name = "SuperSocket.WebSocket Sample Server", MaxRequestLength = 1024 * 1024 * 10 }; setup_server(ref server_ssl, server_config_ssl); this.serialPort1.PortName = ConfigurationManager.AppSettings["port_name"]; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void MainWindow_Loaded(object sender, RoutedEventArgs e) { if (appServer != null && appServer.State == SuperSocket.SocketBase.ServerState.Running) { return; } var config = new SuperSocket.SocketBase.Config.ServerConfig() { Name = "ZabbixAgent", ServerTypeName = "ZabbixAgent", ClearIdleSession = false, //60秒执行一次清理90秒没数据传送的连接 ClearIdleSessionInterval = 60, IdleSessionTimeOut = 90, MaxRequestLength = 10000, //最大包长度 Ip = "Any", Port = port, MaxConnectionNumber = 10000,//最大允许的客户端连接数目 }; appServer = new ZabbixServer(app_NewSessionConnected, app_SessionClosed); appServer.NewRequestReceived -= App_NewRequestReceived; appServer.NewRequestReceived += App_NewRequestReceived; if (!appServer.Setup(config)) { return; } appServer.Start(); }
public void Start() { _webSocketServer = new WebSocketServer(); SuperSocket.SocketBase.Config.RootConfig rootConfig = new SuperSocket.SocketBase.Config.RootConfig(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig(); serverConfig.Name = "PokeFeeder"; serverConfig.ServerTypeName = "WebSocketService"; serverConfig.Ip = "Any"; serverConfig.Port = GlobalSettings.OutgoingServerPort; serverConfig.MaxRequestLength = 4096; serverConfig.MaxConnectionNumber = 100 * 1000; serverConfig.SendingQueueSize = 25; serverConfig.SendTimeOut = 5000; var socketServerFactory = new SuperSocket.SocketEngine.SocketServerFactory(); _webSocketServer.Setup(rootConfig, serverConfig, socketServerFactory); _webSocketServer.Start(); _webSocketServer.NewMessageReceived += new SessionHandler <WebSocketSession, string>(socketServer_NewMessageReceived); _webSocketServer.NewSessionConnected += socketServer_NewSessionConnected; _webSocketServer.SessionClosed += socketServer_SessionClosed; UpdateTitle(); var pokemonIds = GlobalSettings.UseFilter ? PokemonParser.ParsePokemons(new List <string>(GlobalSettings.PokekomsToFeedFilter)) : Enum.GetValues(typeof(PokemonId)).Cast <PokemonId>().ToList(); _serverUploadFilter = ServerUploadFilterFactory.Create(pokemonIds); }
private void MainWindow_Loaded(object sender, RoutedEventArgs e) { if (appServer != null && appServer.State == SuperSocket.SocketBase.ServerState.Running) { return; } var config = new SuperSocket.SocketBase.Config.ServerConfig() { Name = "SuperSocketServer", ServerTypeName = "SuperSocketServer", ClearIdleSession = false, //60秒执行一次清理90秒没数据传送的连接 ClearIdleSessionInterval = 60, IdleSessionTimeOut = 90, MaxRequestLength = 10000, //最大包长度 Ip = "Any", Port = port, MaxConnectionNumber = 10000,//最大允许的客户端连接数目 }; appServer = new MyServer(app_NewSessionConnected, app_SessionClosed); //移除请求处理方法的注册,因为它和命令不能同时被支持: appServer.NewRequestReceived -= App_NewRequestReceived; appServer.NewRequestReceived += App_NewRequestReceived; appServer.Setup(config); if (!appServer.Start()) { txbReceive.AppendText("初始化服务失败" + '\n'); } }
private void Form1_Load(object sender, EventArgs e) { frm = this; try { var server_config_ssl = new SuperSocket.SocketBase.Config.ServerConfig() { Port = 443, Ip = "127.0.0.1", MaxConnectionNumber = 100, Mode = SuperSocket.SocketBase.SocketMode.Tcp, Name = "SuperWebSocket Sample Server", MaxRequestLength = 1024 * 1024 * 10, Security = "tls", Certificate = new SuperSocket.SocketBase.Config.CertificateConfig { FilePath = ConfigurationManager.AppSettings["cert_file_path"], Password = ConfigurationManager.AppSettings["cert_password"] } }; setup_server(ref server_ssl, server_config_ssl); valid_cert(); } catch (Exception ex) { reflesh_cert(); MessageBox.Show("証明書を更新しました。\nアプリケーションを再起動します。"); Application.Restart(); } }
/// <summary> /// Start server instance. /// </summary> public void start() { running_state = true; SuperSocket.SocketBase.Config.ServerConfig appserver_config = new SuperSocket.SocketBase.Config.ServerConfig(); appserver_config.DisableSessionSnapshot = false; appserver_config.SessionSnapshotInterval = 1; appserver_config.Port = this.WebsocketServer_ListenPortNo; //Start Websocket server if (!_appServer.Setup(appserver_config)) //Setup with listening port { //Console.WriteLine("Failed to setup!"); logger.Fatal("Failed to setup websocket server."); } if (!_appServer.Start()) { //Console.WriteLine("Failed to start!"); logger.Fatal("Failed to start websocket server."); return; } _nenpi_trip_calc.load_trip_gas(); _deficom_ws_client.Open(); _ssmcom_ws_client.Open(); //Console.WriteLine("Websocket server is starting... DefiCOM_WS_URL:" + _deficom_WS_URL + " SSMCOM_WS_URL:" + _ssmcom_WS_URL + " ListenPort: " + this.WebsocketServer_ListenPortNo.ToString()); logger.Info("Websocket server is starting... DefiCOM_WS_URL:" + _deficom_WS_URL + " SSMCOM_WS_URL:" + _ssmcom_WS_URL + " ListenPort: " + this.WebsocketServer_ListenPortNo.ToString()); }
static void Main(string[] args) { Console.WriteLine("Press any key to start the WebSocketServer!"); Console.ReadKey(); Console.WriteLine(); var appServer = new WebSocketServer(); SuperSocket.SocketBase.Config.ServerConfig sc = new SuperSocket.SocketBase.Config.ServerConfig(); sc.MaxConnectionNumber = 40000; sc.Port = 2012; //Setup the appServer if (!appServer.Setup(sc)) //Setup with listening port { Console.WriteLine("Failed to setup!"); Console.ReadKey(); return; } appServerLogger = appServer.Logger; // 문자열로 오는 메시지에 대한 리시빙 완료 핸들러 appServer.NewMessageReceived += new SessionHandler <WebSocketSession, string>(appServer_NewMessageReceived); appServer.NewDataReceived += new SessionHandler <WebSocketSession, byte[]>(appServer_NewDataReceived); // 새 연결이 왔다. appServer.NewSessionConnected += new SessionHandler <WebSocketSession>(appServer_NewSessionConnected); // 기존 연결이 끊겼다. appServer.SessionClosed += new SessionHandler <WebSocketSession, CloseReason>(appServer_SessionClosed); Console.WriteLine(); //Try to start the appServer if (!appServer.Start()) { Console.WriteLine("Failed to start!"); Console.ReadKey(); return; } Console.WriteLine("The server started successfully, press key 'q' to stop it!"); while (Console.ReadKey().KeyChar != 'q') { Console.WriteLine(); continue; } //Stop the appServer appServer.Stop(); Console.WriteLine(); Console.WriteLine("The server was stopped!"); Console.ReadKey(); }
public static void Main(string[] args) { // Check if the config file is correctly loaded if (System.Configuration.ConfigurationManager.AppSettings.Count == 0) { Console.WriteLine("ERROR: config file not loaded"); return; } int AddressPort = Convert.ToInt16(System.Configuration.ConfigurationManager.AppSettings["port"]); int webSocketPort = Convert.ToInt16(System.Configuration.ConfigurationManager.AppSettings["webSocketPort"]); //TODO: error message port must be above 1024 tcpListener = new TcpListener(IPAddress.Any, AddressPort); listenThread = new Thread(new ThreadStart(ListenForClients)); listenThread.Start(); System.Reflection.Assembly CurrentServer = System.Reflection.Assembly.GetExecutingAssembly(); string ProductVersion = System.Diagnostics.FileVersionInfo.GetVersionInfo(CurrentServer.Location).ProductVersion; DateTime CurrentDateTime = DateTime.Now; Console.WriteLine("------------------------------------------------------------------------------"); Console.WriteLine("{0} {1} server booting on {2} at {3}", CurrentServer.GetName().Name, ProductVersion, CurrentDateTime.ToLongDateString(), CurrentDateTime.ToLongTimeString()); Console.WriteLine("------------------------------------------------------------------------------"); Console.WriteLine("Node Name : {0}", System.Environment.MachineName); //Console.WriteLine("Running On : {0} {1}", (Is64) ? "x86_64": "x86" ,System.Environment.OSVersion.ToString()); Console.WriteLine("Started server at " + AddressPort); SuperSocket.SocketBase.Config.RootConfig r = new SuperSocket.SocketBase.Config.RootConfig(); SuperSocket.SocketBase.Config.ServerConfig s = new SuperSocket.SocketBase.Config.ServerConfig(); s.Name = "SuperWebSocket"; s.Ip = "Any"; s.Port = webSocketPort; s.Mode = SocketMode.Tcp; SuperSocket.SocketEngine.SocketServerFactory f = new SuperSocket.SocketEngine.SocketServerFactory(); if (ws != null) { ws.Stop(); ws = null; } ws = new WebSocketServer(); ws.Setup(r, s, f); ws.SessionClosed += new SessionHandler<WebSocketSession, CloseReason>(ws_SessionClosed); ws.NewSessionConnected += new SessionHandler<WebSocketSession>(ws_NewSessionConnected); ws.NewMessageReceived += new SessionHandler<WebSocketSession, string>(ws_NewMessageReceived); ws.NewDataReceived += new SessionHandler<WebSocketSession, byte[]>(ws_NewDataReceived); ws.Start(); Console.WriteLine("------------------------------------------------------------------------------"); Console.WriteLine("Booted with PID {0}", System.Diagnostics.Process.GetCurrentProcess().Id); Console.WriteLine("------------------------------------------------------------------------------"); }
static void socketServer_Initialize() { // Initialize the server object SuperWebSocket.WebSocketServer socketServer = new WebSocketServer (); // Initialize basic server configurations SuperSocket.SocketBase.Config.RootConfig socketRootConfig = new SuperSocket.SocketBase.Config.RootConfig (); SuperSocket.SocketBase.Config.ServerConfig socketServerConfig = new SuperSocket.SocketBase.Config.ServerConfig (); SuperSocket.SocketEngine.SocketServerFactory socketServerFactory = new SuperSocket.SocketEngine.SocketServerFactory (); // Set the name, IP address and port number which the server is started on socketServerConfig.Name = "Quetzalcoatl Server"; socketServerConfig.Ip = "127.0.0.1"; socketServerConfig.Port = 1620; // Print boilerplate text when the console is first displayed logConsoleBoilerplate (); // Create the server using the specifications created above // If the server fails to start, write to the console if (!socketServer.Setup (socketRootConfig, socketServerConfig, socketServerFactory)) { Console.WriteLine ("Failed to initialize server at ws[s]://" + socketServer.Config.Ip + ":" + socketServer.Config.Port); Console.ReadKey (); return; } // Start the server // If the server fails to start, write to the console if (!socketServer.Start ()) { Console.WriteLine ("Server was successfully initialized at ws[s]://" + socketServer.Config.Ip + ":" + socketServer.Config.Port + " but failed to start. Ensure that no processes are currently running at the same address."); Console.ReadKey (); return; } // Notify the user that the server has successfully started and is awaiting connections Console.WriteLine ("Server initialized at ws[s]://" + socketServer.Config.Ip + ":" + socketServer.Config.Port + " at " + socketServer.StartedTime); Console.WriteLine ("Awaiting client connections..."); Console.WriteLine (); // Bind listeners for server events socketServer.NewMessageReceived += new SessionHandler<WebSocketSession, string> (socketServer_NewMessageReceived); socketServer.NewSessionConnected += socketServer_NewSessionConnected; socketServer.SessionClosed += socketServer_SessionClosed; // Nullify all console inputs except for when the user types "exit" while (Console.ReadLine () != "exit") { continue; } // Properly shutdown the server by waiting on the buffer and freeing all used ports socketServer_Shutdown (socketServer); return; }
static void Main(string[] args) { SocketServer.EventServer appServer = new SocketServer.EventServer(); SuperSocket.SocketBase.Config.ServerConfig serverConfig = new SuperSocket.SocketBase.Config.ServerConfig { Ip = "0.0.0.0", Port = 8800, MaxRequestLength = 2048, //1024 // TextEncoding = "UTF-8" MaxConnectionNumber = 100, //SendingQueueSize = 20000, //5 SyncSend = true, SendTimeOut = 2000 }; if (!appServer.Setup(serverConfig)) { Console.WriteLine("Failed to setup"); return; } if (!appServer.Start()) { Console.WriteLine("Failed to start"); return; } Console.WriteLine("server start successfully, press key 'q' to stop it!"); //while(Console.ReadKey().KeyChar != 'q') //{ // Console.WriteLine(); // continue; //} string input = Console.ReadLine(); while (input != "q") { switch (input) { case "1": TestSendAlotToAllClient(appServer); break; case "2": TestSend10ToAll(appServer); break; } input = Console.ReadLine(); } appServer.Stop(); Console.WriteLine("server stoped"); }
public WebsocketServiceMain(IContainer container) { _container = container; UserConfig userConfig = container.Get <UserConfig>(); _websocketServer = new WebSocketServer(); _websocketServer.NewMessageReceived += Ws_NewMessageReceived; //当有信息传入时 _websocketServer.NewSessionConnected += Ws_NewSessionConnected; //当有用户连入时 _websocketServer.SessionClosed += Ws_SessionClosed; //当有用户退出时 _websocketServer.NewDataReceived += Ws_NewDataReceived; //当有数据传入时 // 设置参数 var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig() { Ip = "Any", Port = userConfig.WebsocketPort, MaxRequestLength = 1024000, }; if (_websocketServer.Setup(serverConfig)) //绑定端口 { if (_websocketServer.Start()) //启动服务 { _websocketServer.Logger.Info("启动成功"); //打开另一个线程监听数据的变动 _waitHandle = new AutoResetEvent(false); _thread = new Thread(new ThreadStart(UnpakageData)) { IsBackground = true, }; _thread.Start(); Queue = new ConcurrentQueue <ReceivedMessage>(); } else { _websocketServer.Logger.Info("启动失败"); } } else { _websocketServer.Logger.Info("初始化失败"); } }
static void Main(string[] args) { MyServer appServer = new MyServer(); var se = new SuperSocket.SocketBase.Config.ServerConfig(); se.TextEncoding = "Unicode"; // System.Text.Encoding. se.TextEncoding = "gbk"; // System.Text.Encoding. se.Ip = "127.0.0.1"; se.Port = 2020; se.Mode = SocketMode.Tcp; System.Threading.Thread thSend = new System.Threading.Thread(SendMsgToClient); thSend.Start(); //Setup the appServer if (!appServer.Setup(se)) //Setup with listening port { Console.WriteLine("Failed to setup!"); Console.ReadKey(); return; } Console.WriteLine(); //Try to start the appServer if (!appServer.Start()) { Console.WriteLine("Failed to start!"); Console.ReadKey(); return; } appServer.NewSessionConnected += appServer_NewSessionConnected; appServer.SessionClosed += appServer_SessionClosed; appServer.NewRequestReceived += new RequestHandler <MySession, SuperSocket.SocketBase.Protocol.BinaryRequestInfo>(appServer_NewRequestReceived); //// appServer.NewRequestReceived += appServer_NewRequestReceived; //Console.WriteLine("The server started successfully, press key 'q' to stop it!"); //while (Console.ReadKey().KeyChar != 'q') //{ // Console.WriteLine(); // continue; //} ////Stop the appServer //appServer.Stop(); //Console.WriteLine("The server was stopped!"); Console.ReadKey(); }
static void Main(string[] args) { //initialise array that will be handling the image data for (int i = 0; i < 100000; i++) { m_ImageListOne[i] = ""; m_ImageListTwo[i] = ""; m_ImageListOutputTestOne[i] = ""; m_ImageListOutputTestTwo[i] = ""; } for (int i = 0; i < 2; i++) { m_ClientIpAddress[i] = ""; m_ClientIpComparisonString[i] = ""; } m_wsServer = new WebSocketServer(); var m_ServerConfig = new SuperSocket.SocketBase.Config.ServerConfig(); m_ServerConfig.MaxConnectionNumber = 100; var m_List = new List <SuperSocket.SocketBase.Config.ListenerConfig>(10); int port = 3000; //Initialise ports, these will be used to handle different sessions for (int i = 0; i < 10; i++) { var listener = new SuperSocket.SocketBase.Config.ListenerConfig(); listener.Port = port; port++; listener.Backlog = 1000; listener.Ip = "Any"; listener.Security = "None"; m_List.Add(listener); } //Setup the server and subscribe the server to the various events m_ServerConfig.Listeners = m_List; m_wsServer.Setup(m_ServerConfig); m_wsServer.NewSessionConnected += WsServer_NewSessionConnected; m_wsServer.NewMessageReceived += WsServer_NewMessageReceived; m_wsServer.NewDataReceived += WsServer_NewDataReceived; m_wsServer.SessionClosed += WsServer_SessionClosed; m_wsServer.Start(); while (true) { } ; }
private void CreateServerWebSocket() { var rootConfig = new SuperSocket.SocketBase.Config.RootConfig(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig { Name = Constants.ServerWebSocketString, Ip = "Any", Port = this.WebSocketPort, Mode = SocketMode.Tcp }; this.webSocketServer = new WebSocketServer(); this.webSocketServer.Setup(rootConfig, serverConfig, new SuperSocket.SocketEngine.SocketServerFactory()); this.webSocketServer.NewSessionConnected += new SessionHandler <WebSocketSession>(ServerWebSocket_NewSessionConnected); this.webSocketServer.NewMessageReceived += new SessionHandler <WebSocketSession, string>(ServerWebSocket_NewMessageReceived); this.webSocketServer.NewDataReceived += new SessionHandler <WebSocketSession, byte[]>(ServerWebSocket_NewDataReceived); }
public void Start() { // todo config 작업 var sc = new SuperSocket.SocketBase.Config.ServerConfig { MaxConnectionNumber = 40000, Port = 10230, IdleSessionTimeOut = 60 * 5, ClearIdleSession = true, ClearIdleSessionInterval = 10 }; if (false == this.webSocketServer.Setup(sc)) // Setup with listening port { logger.Error("Failed to setup!"); Console.ReadKey(); System.Threading.Thread.Sleep(5000); return; } // handler this.webSocketServer.NewMessageReceived += new SessionHandler <WebSocketSession, string>(handler.NewMessageReceived); this.webSocketServer.NewDataReceived += new SessionHandler <WebSocketSession, byte[]>(handler.NewDataReceived); this.webSocketServer.NewSessionConnected += new SessionHandler <WebSocketSession>(handler.NewSessionConnected); this.webSocketServer.SessionClosed += new SessionHandler <WebSocketSession, CloseReason>(handler.SessionClosed); // Try to start the appServer if (false == this.webSocketServer.Start()) { logger.Error("Failed to start!"); Console.ReadKey(); return; } executorMessage.Start(); logger.Info("AppLobbyServer Started"); Console.WriteLine("AppLobbyServer Started"); // 우아하지 않게 while (true) { System.Threading.Thread.Sleep(1000); } }
private EmbeddedWebServer(HttpRequestHandler handler) { if (!HttpListener.IsSupported) { Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class."); throw new NotSupportedException("SimpleListenerExample"); } if (handler == null) { throw new ArgumentNullException("handler"); } this._httpHandler = handler; // Setup the web sockets _socketServer = new WebSocketServer(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig { Name = "SuperWebSockets", Ip = "Any", Port = handler.WebSocketPort, Mode = SocketMode.Tcp }; var rootConfig = new SuperSocket.SocketBase.Config.RootConfig(); var factory = new SuperSocket.SocketEngine.SocketServerFactory(); _socketServer.NewSessionConnected += _socketServer_NewSessionConnected; _socketServer.SessionClosed += _socketServer_SessionClosed; _socketServer.NewMessageReceived += _socketServer_NewMessageReceived; _socketServer.NewDataReceived += _socketServer_NewDataReceived; _socketServer.Setup(rootConfig, serverConfig, factory); _socketServer.Start(); // Setup the web server _httpListener = new HttpListener(); _httpListener.Prefixes.Add(handler.WebPrefix); _httpListener.Start(); StartListening(); string chromeArgs = " --app=" + handler.WebPrefix; System.Diagnostics.Process.Start(handler.PathOfChromeExecutable, chromeArgs); }
public bool start() { //Console.ReadKey(); var config = new SuperSocket.SocketBase.Config.ServerConfig() { Name = "SSServer", ServerTypeName = "SServer", ClearIdleSession = true, //60秒执行一次清理90秒没数据传送的连接 ClearIdleSessionInterval = 60, IdleSessionTimeOut = 90, MaxRequestLength = 1024 * 1024, //最大包长度 Ip = "Any", Port = 65531, MaxConnectionNumber = 10000, TextEncoding = "GBK" }; appServer = new ProtocolServer(); appServer.NewSessionConnected += appServer_NewSessionConnected; appServer.NewRequestReceived += appServer_NewRequestReceived; appServer.SessionClosed += appServer_SessionClosed; //Setup the appServer if (!appServer.Setup(config)) //Setup with listening port { Console.WriteLine("Failed to setup!"); Console.ReadKey(); return(false); } Console.WriteLine(); //Try to start the appServer if (!appServer.Start()) { Console.WriteLine("Failed to start!"); Console.ReadKey(); return(false); } return(true); }
private void setup_server(ref WebSocketServer server, SuperSocket.SocketBase.Config.ServerConfig serverConfig) { var rootConfig = new SuperSocket.SocketBase.Config.RootConfig(); server = new SuperSocket.WebSocket.WebSocketServer(); //サーバーオブジェクト作成&初期化 server.Setup(rootConfig, serverConfig); //イベントハンドラの設定 //接続 server.NewSessionConnected += HandleServerNewSessionConnected; //メッセージ受信 server.NewMessageReceived += HandleServerNewMessageReceived; //切断 server.SessionClosed += HandleServerSessionClosed; //サーバー起動 server.Start(); }
/** * @Method constructor that initializates the Secure WebSocket on default port 1443 */ public SecureSuperSocketController() { this.Log = LogManager.GetLogger(Properties.Settings.Default.logName); int port = 1443; SuperSocket.SocketBase.Config.RootConfig r = new SuperSocket.SocketBase.Config.RootConfig(); SuperSocket.SocketBase.Config.ServerConfig s = new SuperSocket.SocketBase.Config.ServerConfig(); //Using 80 or 9999 port is working s.Name = "SuperWebSocket"; s.Ip = "127.0.0.1"; s.Port = port; s.Mode = SocketMode.Tcp; s.Security = "tls"; SuperSocket.SocketBase.Config.CertificateConfig cert = new SuperSocket.SocketBase.Config.CertificateConfig(); string pathToBaseDir = System.IO.Directory.GetParent(Environment.CurrentDirectory).Parent.FullName; cert.FilePath = System.IO.Path.Combine(pathToBaseDir, "galeonssl.pfx"); System.Diagnostics.Debug.Assert(System.IO.File.Exists(cert.FilePath)); cert.Password = "******"; s.Certificate = cert; SuperSocket.SocketEngine.SocketServerFactory f = new SuperSocket.SocketEngine.SocketServerFactory(); base.appServer = new WebSocketServer(); try { base.appServer.Setup(r, s, f); Log.Debug("Secure WebSocket Started at port " + port); base.appServer.NewMessageReceived += new SessionHandler<WebSocketSession, string>(this.appServer_NewMessageReceived); } catch (Exception ex) { Log.Error("Error while creating Socket on port " + port, ex); this.appServer = null; } }
private SuperSocket.SocketBase.Config.ServerConfig buildServerConfig(int port) { string pathToBaseDir = System.IO.Directory.GetParent(Environment.CurrentDirectory).Parent.FullName; var cert = new SuperSocket.SocketBase.Config.CertificateConfig() { FilePath = "localhost.pfx", //System.IO.Path.Combine(pathToBaseDir, "localhost.pfx"), Password = "******" }; var config = new SuperSocket.SocketBase.Config.ServerConfig() { Port = port, Ip = "Any", MaxConnectionNumber = 100, Mode = SuperSocket.SocketBase.SocketMode.Tcp, Name = "GazeServer", Security = "tls", Certificate = cert }; return(config); }
public void StartListen() { string ip_address = ConfigurationManager.AppSettings["ServerIP"]; string port = ConfigurationManager.AppSettings["ServerPort"]; serverListener = new MsgPackServer(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig { Port = int.Parse(port), //set the listening port Ip = ip_address, Name = "GameServer", MaxConnectionNumber = 200, SendBufferSize = 1024 * 4, ReceiveBufferSize = 1024 * 4, SendingQueueSize = 128, SendTimeOut = 10000 }; if (!serverListener.Setup(serverConfig)) { AddDebugMessage("server setup failed!"); } /* * AddDebugMessage(serverListener.Config.SendTimeOut.ToString()); * AddDebugMessage(serverListener.Config.SendBufferSize.ToString()); * AddDebugMessage(serverListener.Config.SendingQueueSize.ToString()); * AddDebugMessage(serverListener.Config.SyncSend.ToString()); * AddDebugMessage(serverListener.Config.MaxConnectionNumber.ToString()); * AddDebugMessage(serverListener.Config.IdleSessionTimeOut.ToString()); */ serverListener.NewSessionConnected += new SessionHandler <MsgPackSession>(Server_NewSessionConnected); serverListener.NewRequestReceived += new RequestHandler <MsgPackSession, BinaryRequestInfo>(Server_NewRequestReceived); serverListener.SessionClosed += new SessionHandler <MsgPackSession, SuperSocket.SocketBase.CloseReason>(Server_SessionClosed); if (!serverListener.Start()) { AddDebugMessage("server started failed!"); } }
/// <summary> /// 启动服务器端服务 /// </summary> /// <param name="oServerXml">界面的xml参数</param> public void ServerSvrStart(ServerXml oServerXml) { var config = new SuperSocket.SocketBase.Config.ServerConfig() { Name = "SSServer", ServerTypeName = "SServer", ClearIdleSession = true, //60秒执行一次清理90秒没数据传送的连接 ClearIdleSessionInterval = 60, IdleSessionTimeOut = 90, MaxRequestLength = 4096, //最大包长度 Ip = "Any", Port = Convert.ToInt32(oServerXml.Port), MaxConnectionNumber = 100000, }; //var app = new MyServer(); //LogHelper.SetOnLog(new LogHelper.LogEvent((m) => //{ // txtAll.Text = string.Join(" ", m, "\r\n"); // txtAll.Select(txtAll.TextLength, 0); // txtAll.ScrollToCaret(); //})); mMyServer.Setup(config); if (!mMyServer.Start()) { //LogHelper.WriteLog(string.Format("Socket {0}:{1}启动失败,请检查权限或端口是否被占用!", config.Ip, config.Port)); LogHelp.Info(string.Format("Socket {0}:{1}启动失败,请检查权限或端口是否被占用!", config.Ip, config.Port)); } //启动个线程 m_MonitorDBThreadID = new Thread(MonitorDBThread); //主线程退出,此线程立刻退出 m_MonitorDBThreadID.IsBackground = true; m_MonitorDBThreadID.Start(); LogHelp.Info("监听数据库线程启动完成!"); }
/// <summary> /// Create a Unique Session. /// </summary> /// <param name="ErrorMessage">Error Information for failiures.</param> /// <returns>Returns True if session creation was successful.</returns> public bool CreateUniqueSession() { try { Console.WriteLine("Starting Socket Server."); FileLogger.Instance.LogMessage("Starting Socket Server."); SuperSocket.SocketBase.Config.RootConfig r = new SuperSocket.SocketBase.Config.RootConfig(); SuperSocket.SocketBase.Config.ServerConfig s = new SuperSocket.SocketBase.Config.ServerConfig(); string rootFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); s.Name = "SecureSuperWebSocket"; s.Ip = "127.0.0.1"; s.Port = _port; s.Mode = SocketMode.Tcp; //s.Security = "tls"; //s.Certificate = new SuperSocket.SocketBase.Config.CertificateConfig //{ // FilePath = @"localhost_sticky_ad.pfx", // Password = "******" //}; appServer = new WebSocketServer(); appServer.Setup(r, s); appServer.NewSessionConnected += new SessionHandler <WebSocketSession>(AppServerNewSessionConnected); appServer.NewMessageReceived += new SessionHandler <WebSocketSession, string>(AppServerNewMessageReceived); appServer.SessionClosed += new SessionHandler <WebSocketSession, CloseReason>(AppServerSessionClosed); appServer.Start(); Console.WriteLine("Socket Server Started. IP=" + s.Ip + ". Port=" + s.Port); FileLogger.Instance.LogMessage("Socket Server Started. IP=" + s.Ip + ". Port=" + s.Port); return(true); } catch (Exception exception) { FileLogger.Instance.LogException(exception); return(false); } }
private void InitWebsocketServer() { Console.WriteLine("WebSocketServer is starting!"); appServer = new GameWebsocketServer(); SuperSocket.SocketBase.Config.RootConfig r = new SuperSocket.SocketBase.Config.RootConfig(); SuperSocket.SocketBase.Config.ServerConfig s = new SuperSocket.SocketBase.Config.ServerConfig(); s.Name = "SuperWebSocket"; s.ServerTypeName = "WebSocketService"; s.Ip = "Any"; s.Port = 2012; s.MaxRequestLength = 1024 * 1000 * 1000; SuperSocket.SocketEngine.SocketServerFactory f = new SuperSocket.SocketEngine.SocketServerFactory(); appServer.Setup(r, s, f); appServer.NewMessageReceived += new SuperSocket.SocketBase.SessionHandler <GameWebsocketSession, string>( appServer_NewMessageReceived); appServer.NewSessionConnected += new SuperSocket.SocketBase.SessionHandler <GameWebsocketSession>( appServer_NewSessionConnected ); Console.WriteLine(); //Try to start the appServer if (!appServer.Start()) { Console.WriteLine("Failed to start!"); Console.ReadKey(); return; } Console.WriteLine("The server started successfully!"); }
public void Listen() { var config = new SuperSocket.SocketBase.Config.ServerConfig() { //Name = "SSServer", //ServerTypeName = "SServer", ClearIdleSession = true, //120秒执行一次清理90秒没数据传送的连接 ClearIdleSessionInterval = 120, IdleSessionTimeOut = 90, MaxRequestLength = 8192, //最大包长度 Ip = "Any", Port = 9004, MaxConnectionNumber = 100000, }; //Setup the appServer if (!myServer.Setup(config)) //Setup with listening port { { log.Info("云主机 Failed to setup!"); return; } } //Try to start the appServer if (!myServer.Start()) { log.Info("云主机 Failed to start!"); return; } myServer.NewSessionConnected += MyServer_NewSessionConnected; myServer.NewRequestReceived += MyServer_NewRequestReceived; myServer.SessionClosed += myServer_SessionClosed; log.Info($"云主机开启。。"); Console.WriteLine($"云主机开启 {DateTime.Now.ToString()}"); }
/// <summary> /// Start server instance. /// </summary> public void start() { SuperSocket.SocketBase.Config.ServerConfig appserver_config = new SuperSocket.SocketBase.Config.ServerConfig(); appserver_config.DisableSessionSnapshot = false; appserver_config.SessionSnapshotInterval = 2; appserver_config.Port = this.WebsocketPortNo; //Try to start the appServer if (!appServer.Setup(appserver_config)) //Setup with listening por { logger.Fatal("Failed to setup websocket server."); } if (!appServer.Start()) { logger.Fatal("Failed to start websocket server."); return; } logger.Info("Websocket server is started. WebsocketPort:" + this.WebsocketPortNo.ToString() + " COMPort: " + this.COMPortName + "Keep alive dummy message interval:" + this.KeepAliveInterval.ToString() + "ms"); com1.CommunicateRealtimeStart(); this.running_state = true; }
private void CreateServerWebSocket() { var rootConfig = new SuperSocket.SocketBase.Config.RootConfig(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig { Name = Constants.ServerWebSocketString, Ip = "Any", Port = this.WebSocketPort, Mode = SocketMode.Tcp }; this.webSocketServer = new WebSocketServer(); this.webSocketServer.Setup(rootConfig, serverConfig, new SuperSocket.SocketEngine.SocketServerFactory()); this.webSocketServer.NewSessionConnected += new SessionHandler<WebSocketSession>(ServerWebSocket_NewSessionConnected); this.webSocketServer.NewMessageReceived += new SessionHandler<WebSocketSession, string>(ServerWebSocket_NewMessageReceived); this.webSocketServer.NewDataReceived += new SessionHandler<WebSocketSession, byte[]>(ServerWebSocket_NewDataReceived); }