#ifndef _ADDRESS_PACKET_H_ #define _ADDRESS_PACKET_H_ // AddressPacket.h #include #pragma pack(1) // UDP ÁÖ¼Ò ¼­¹ö ¾÷µ¥ÀÌÆ® ( Update Address ) // : Ŭ¶óÀÌ¾ðÆ®°¡ ·Î±×ÀÎ ÈÄ¿¡ UDP·Î ¼­¹ö·Î Çѹø º¸³»ÁØ´Ù. // : ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®ÀÇ ÆÐŶÀ¸·Î ¿ÜºÎ UDP ÁÖ¼Ò¸¦ ¾ò´Â´Ù. typedef struct PktUA* LPPktUA; struct PktUA : public PktBase { SOCKADDR_IN m_PrivateAddress; unsigned long m_dwCharID; }; // UDP ÁÖ¼Ò ¼­¹ö ¾÷µ¥ÀÌÆ® Ack typedef struct PktUAAck* LPPktUAAck; struct PktUAAck : public PktBase { SOCKADDR_IN m_PublicAddress; SOCKADDR_IN m_PrivateAddress; unsigned long m_dwCharID; }; // ÁÖ¼Ò ±¸Á¶Ã¼ typedef struct AddressInfo* LPAddressInfo; struct AddressInfo { SOCKADDR_IN m_PublicAddress; SOCKADDR_IN m_PrivateAddress; unsigned long m_dwCharID; AddressInfo() : m_dwCharID(0) { memset(&m_PublicAddress, 0, sizeof(m_PublicAddress)); memset(&m_PrivateAddress, 0, sizeof(m_PrivateAddress)); } AddressInfo(const SOCKADDR_IN& PublicAddress, const SOCKADDR_IN& PrivateAddress, const unsigned long dwCharID) : m_PublicAddress(PublicAddress), m_PrivateAddress(PrivateAddress), m_dwCharID(dwCharID) { } }; // UDP ÁÖ¼Ò Á¤º¸ ÆÐŶ ( Address Info ) // - ¾îµå·¹½º ±¸Á¶Ã¼ typedef struct PktAI* LPPktAI; struct PktAI : public PktBase { AddressInfo m_AddressInfo; }; #pragma pack() #endif