예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <summary>停止服务</summary>
        /// <param name="reason"></param>
        protected override void StopWork(String reason)
        {
            _Server.TryDispose();
            _Server = null;

            base.StopWork(reason);
        }
예제 #3
0
        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
            };
        }
예제 #4
0
    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);
    }
예제 #5
0
        /// <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);
        }
예제 #6
0
        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);
        }
예제 #7
0
        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;
        }
예제 #8
0
        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);
        }