/// <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; } } }