모델 업로드 구조 완성
This commit is contained in:
@@ -138,12 +138,12 @@ class IOCP {
|
||||
|
||||
void destruct();
|
||||
|
||||
void registerTCPSocket(IOCPPASSINDATA* data);
|
||||
void registerTCPSocket(Socket& sock, std::uint32_t bufsize);
|
||||
void registerUDPSocket(IOCPPASSINDATA* data, Address recv_addr);
|
||||
|
||||
int recv(IOCPPASSINDATA* data);
|
||||
int recv(Socket& sock, std::vector<char>& data);
|
||||
// data는 한 가지 소켓에 보내는 패킷만 담아야 합니다
|
||||
int send(SOCKET sock, std::vector<IOCPPASSINDATA*>* data);
|
||||
int send(Socket& sock, std::vector<char>& data);
|
||||
|
||||
int GetRecvedBytes(SOCKET sock);
|
||||
|
||||
|
||||
@@ -10,12 +10,25 @@ enum class Opcode : std::uint16_t {
|
||||
DESPAWNMODEL,
|
||||
UPDATEMODEL,
|
||||
REQUESTMODELIDLIST,
|
||||
CLIENTID,
|
||||
COUNT
|
||||
};
|
||||
|
||||
struct Header {
|
||||
Opcode opcode;
|
||||
std::uint32_t body_length;
|
||||
|
||||
std::vector<char> Serialize() {
|
||||
std::vector<char> serialize(6);
|
||||
::memcpy(serialize.data(), &opcode, 2);
|
||||
::memcpy(serialize.data() + 2, &body_length, 4);
|
||||
return serialize;
|
||||
}
|
||||
|
||||
void Deserialize(std::vector<char>& data) {
|
||||
::memcpy(&opcode, data.data(), 2);
|
||||
::memcpy(&body_length, data.data() + 2, 4);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace Packet
|
||||
|
||||
Reference in New Issue
Block a user