Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
58 lines
1.3 KiB
C
58 lines
1.3 KiB
C
#ifndef _ADDRESS_PACKET_H_
|
|
#define _ADDRESS_PACKET_H_
|
|
|
|
// AddressPacket.h
|
|
#include <Network/Packet/PacketBase.h>
|
|
|
|
#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 |