示例#1
0
        internal void Init(int port)
        {
            InitMessageHandler();

            int           receiveBufferSize = 64;
            int           sendBufferSize    = 64;
            StringBuilder sb = new StringBuilder(256);

            if (CenterClientApi.GetConfig("ReceiveBufferSize", sb, 256))
            {
                receiveBufferSize = int.Parse(sb.ToString());
            }
            if (CenterClientApi.GetConfig("SendBufferSize", sb, 256))
            {
                sendBufferSize = int.Parse(sb.ToString());
            }

            m_Config = new NetPeerConfiguration("RoomServer");
            m_Config.MaximumConnections = 1024;
            m_Config.ConnectionTimeout  = 5.0f;
            m_Config.PingInterval       = 1.0f;
            m_Config.ReceiveBufferSize  = receiveBufferSize * 1024 * 1024;
            m_Config.SendBufferSize     = sendBufferSize * 1024 * 1024;
            m_Config.Port = port;
            m_Config.DisableMessageType(NetIncomingMessageType.DebugMessage);
            m_Config.DisableMessageType(NetIncomingMessageType.VerboseDebugMessage);
            //m_Config.EnableMessageType(NetIncomingMessageType.DebugMessage);
            //m_Config.EnableMessageType(NetIncomingMessageType.VerboseDebugMessage);
            m_Config.EnableMessageType(NetIncomingMessageType.ErrorMessage);
            m_Config.EnableMessageType(NetIncomingMessageType.WarningMessage);

            if (m_Config.IsMessageTypeEnabled(NetIncomingMessageType.DebugMessage))
            {
                LogSys.Log(LOG_TYPE.DEBUG, "Enable NetIncomingMessageType.DebugMessage");
            }
            if (m_Config.IsMessageTypeEnabled(NetIncomingMessageType.VerboseDebugMessage))
            {
                LogSys.Log(LOG_TYPE.DEBUG, "Enable NetIncomingMessageType.VerboseDebugMessage");
            }
            if (m_Config.IsMessageTypeEnabled(NetIncomingMessageType.ErrorMessage))
            {
                LogSys.Log(LOG_TYPE.DEBUG, "Enable NetIncomingMessageType.ErrorMessage");
            }
            if (m_Config.IsMessageTypeEnabled(NetIncomingMessageType.WarningMessage))
            {
                LogSys.Log(LOG_TYPE.DEBUG, "Enable NetIncomingMessageType.WarningMessage");
            }

            m_NetServer = new NetServer(m_Config);
            m_NetServer.Start();
            m_IOThread              = new Thread(new ThreadStart(IOHandler));
            m_IOThread.Name         = "IOHandler";
            m_IOThread.IsBackground = true;
            m_Status = RoomSrvStatus.STATUS_RUNNING;
            m_IOThread.Start();
            RoomPeerMgr.Instance.Init();
            Console.WriteLine("Init IOManager OK!");
        }
 internal void Release()
 {
     m_NetServer.Shutdown("bye for close server");
     m_Status = RoomSrvStatus.STATUS_STOP;
     if (null != m_IOThread)
     {
         m_IOThread.Join();
     }
 }
        internal void Init(int port)
        {
            InitMessageHandler();

              int receiveBufferSize = 64;
              int sendBufferSize = 64;
              StringBuilder sb = new StringBuilder(256);
              if (CenterClientApi.GetConfig("ReceiveBufferSize", sb, 256)) {
            receiveBufferSize = int.Parse(sb.ToString());
              }
              if (CenterClientApi.GetConfig("SendBufferSize", sb, 256)) {
            sendBufferSize = int.Parse(sb.ToString());
              }

              m_Config = new NetPeerConfiguration("RoomServer");
              m_Config.MaximumConnections = 1024;
              m_Config.SocketReceiveBufferSize = receiveBufferSize * 1024 * 1024;
              m_Config.SocketSendBufferSize = sendBufferSize * 1024 * 1024;
              m_Config.Port = port;
              m_Config.DisableMessageType(NetIncomingMessageType.DebugMessage);
              m_Config.DisableMessageType(NetIncomingMessageType.VerboseDebugMessage);
              //m_Config.EnableMessageType(NetIncomingMessageType.DebugMessage);
              //m_Config.EnableMessageType(NetIncomingMessageType.VerboseDebugMessage);
              m_Config.EnableMessageType(NetIncomingMessageType.ErrorMessage);
              m_Config.EnableMessageType(NetIncomingMessageType.WarningMessage);

              if (m_Config.IsMessageTypeEnabled(NetIncomingMessageType.DebugMessage))
            LogSys.Log(LOG_TYPE.DEBUG, "Enable NetIncomingMessageType.DebugMessage");
              if (m_Config.IsMessageTypeEnabled(NetIncomingMessageType.VerboseDebugMessage))
            LogSys.Log(LOG_TYPE.DEBUG, "Enable NetIncomingMessageType.VerboseDebugMessage");
              if (m_Config.IsMessageTypeEnabled(NetIncomingMessageType.ErrorMessage))
            LogSys.Log(LOG_TYPE.DEBUG, "Enable NetIncomingMessageType.ErrorMessage");
              if (m_Config.IsMessageTypeEnabled(NetIncomingMessageType.WarningMessage))
            LogSys.Log(LOG_TYPE.DEBUG, "Enable NetIncomingMessageType.WarningMessage");

              m_NetServer = new NetServer(m_Config);
              m_NetServer.Start();
              m_IOThread = new Thread(new ThreadStart(IOHandler));
              m_IOThread.Name = "IOHandler";
              m_IOThread.IsBackground = true;
              m_Status = RoomSrvStatus.STATUS_RUNNING;
              m_IOThread.Start();
              RoomPeerMgr.Instance.Init();
              Console.WriteLine("Init IOManager OK!");
        }
 internal void Release()
 {
     m_NetServer.Shutdown("bye for close server");
       m_Status = RoomSrvStatus.STATUS_STOP;
       if (null != m_IOThread) {
     m_IOThread.Join();
       }
 }