/// <summary>开始服务</summary> /// <param name="reason"></param> protected override void StartWork(String reason) { // 实例化服务端,指定端口,同时在Tcp/Udp/IPv4/IPv6上监听 var svr = new MyNetServer { Port = 1234, Log = XTrace.Log, #if DEBUG SocketLog = XTrace.Log, LogSend = true, LogReceive = true, #endif }; svr.Start(); _Server = svr; _timer1 = new TimerX(s => ShowStat(_Server), null, 1000, 1000) { Async = true }; _timer2 = new TimerX(s => SendTime(_Server), null, 1000, 1000) { Async = true }; base.StartWork(reason); }
/// <summary>停止服务</summary> /// <param name="reason"></param> protected override void StopWork(String reason) { _Server.TryDispose(); _Server = null; base.StopWork(reason); }
static void TestServer() { // 实例化服务端,指定端口,同时在Tcp/Udp/IPv4/IPv6上监听 var svr = new MyNetServer { Port = 1234, Log = XTrace.Log, SessionLog = XTrace.Log, StatPeriod = 30, Tracer = new DefaultTracer { Period = 15, Log = XTrace.Log }, #if DEBUG SocketLog = XTrace.Log, LogSend = true, LogReceive = true, #endif }; svr.Start(); _server = svr; // 定时显示性能数据 _timer = new TimerX(ShowStat, svr, 100, 1000) { Async = true }; }
bool StartServer(ConnectionConfig config, int maxConnections) { // InitializeSingleton(); // // OnStartServer(); LogFilter.currentLogLevel = 0; //if (m_RunInBackground) Application.runInBackground = true; networkServer = GetComponent <MyNetServer>(); // new MyNetServer(); // new NetworkServerSimple(); { // networkServer.useWebSockets = false; // HostTopology hostTopology = null; // // if (config != null) // { // hostTopology = new HostTopology(config, maxConnections); // networkServer.Configure(hostTopology); // } // // if (!networkServer.Listen(8888, hostTopology)) // { // if (LogFilter.logError) { Debug.LogError("StartServer listen failed."); } // return false; // } } // this must be after Listen(), since that registers the default message handlers RegisterServerMessages(); if (LogFilter.logDebug) { Debug.Log("NetworkManager StartServer port:" + networkServer.listenOnPort); } isNetworkActive = true; // // Only change scene if the requested online scene is not blank, and is not already loaded // string loadedSceneName = SceneManager.GetSceneAt(0).name; // if (!string.IsNullOrEmpty(m_OnlineScene) && m_OnlineScene != loadedSceneName && m_OnlineScene != m_OfflineScene) // { // ServerChangeScene(m_OnlineScene); // } // else // { // NetworkServer.SpawnObjects(); // } return(true); }
/// <summary>开始服务</summary> /// <param name="reason"></param> protected override void StartWork(String reason) { // 实例化服务端,指定端口,同时在Tcp/Udp/IPv4/IPv6上监听 var svr = new MyNetServer { Port = 1234, Log = XTrace.Log }; svr.Start(); _Server = svr; base.StartWork(reason); }
static void TestServer() { // 实例化服务端,指定端口,同时在Tcp/Udp/IPv4/IPv6上监听 var svr = new MyNetServer { Port = _serverPort, Log = XTrace.Log }; svr.Start(); _server = svr; // 定时显示性能数据 //_timer = new TimerX(ShowStat, svr, 100, 1000); }
void InitNetServer() { // 实例化网络服务端,指定端口,同时在Tcp/Udp/IPv4/IPv6上监听 var svr = new MyNetServer { Port = 12345, Log = XTrace.Log, Tracer = Tracer, #if DEBUG SocketLog = XTrace.Log, LogSend = true, LogReceive = true, #endif }; svr.Start(); _netServer = svr; }
static void TestServer() { // 实例化服务端,指定端口,同时在Tcp/Udp/IPv4/IPv6上监听 var svr = new MyNetServer { Port = 1234, Log = XTrace.Log, SessionLog = XTrace.Log, SocketLog = XTrace.Log, LogSend = true, LogReceive = true, }; svr.Start(); _server = svr; // 定时显示性能数据 _timer = new TimerX(ShowStat, svr, 100, 1000); }