Example #1
0
        /// <summary>
        /// Start to receive packet from the server
        /// </summary>
        private void startReceive()
        {
            m_serverType = m_server.GetServerType();
            switch (m_server.GetServerType())
            {
            case ServerType.RADAR:
                m_headerLength = Marshal.SizeOf(typeof(BLOCK_HEADER_T));
                m_recvPacket   = new Packet(null, 7);
                break;

            case ServerType.EOIR:
            case ServerType.EOIRByPassServer:
                m_headerLength = Marshal.SizeOf(typeof(EOIR_Header));
                m_recvPacket   = new Packet(null, 12);
                break;
            }

            if (m_headerLength > 0)
            {
                // 수정 필요
                PacketTransporter transport = new PacketTransporter(PacketType.HEADER, m_recvPacket, 0, m_headerLength, this);
                try
                {
                    m_client.Client.BeginReceive(m_recvPacket.GetPacket(), 0, m_headerLength, SocketFlags.None, new AsyncCallback(onReceived), transport);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message + " >" + ex.StackTrace);
                    Disconnect();
                    return;
                }
            }
        }