Ejemplo n.º 1
0
        public static void InitializeServer()
        {
            int startTime = 0;
            int endTime   = 0;

            startTime = GetTickCount();

            LogManager.WriteLog("서버 구동을 시작합니다!");
            LogManager.WriteLog("게임 데이터 초기화를 시작합니다 ...");
            Network.InitializeClients();

            LogManager.WriteLog("서버 구축을 시작합니다 ...");
            NetworkHandleData.InitializePackets();
            Network.InitializeNetwork();

            endTime = GetTickCount();
            LogManager.WriteInfo("서버 초기화가 끝났습니다. 소요시간: " + (endTime - startTime) + "ms");
        }
Ejemplo n.º 2
0
        private void OnReceiveData(IAsyncResult result)
        {
            try
            {
                int readbytes = myStream.EndRead(result);

                if (readbytes <= 0)
                {
                    // 서버와의 접속이 끊긴 경우
                    CloseSocket();
                    return;
                }

                byte[] newBytes = new byte[readbytes];
                Buffer.BlockCopy(readBuff, 0, newBytes, 0, readbytes);
                NetworkHandleData.HandleData(connectionID, newBytes);
                myStream.BeginRead(readBuff, 0, socket.ReceiveBufferSize, OnReceiveData, null);
            }
            catch (Exception)
            {
                CloseSocket();
            }
        }