일단 클라이언트 코드 채움

This commit is contained in:
2025-05-10 00:08:59 +09:00
parent 20f8c7b29d
commit be6ea6e92f
4 changed files with 73 additions and 6 deletions

View File

@@ -69,7 +69,6 @@ public:
void getUserList();
void createRoom(std::string roomName);
void deleteRoom(Snowflake RID);
void getRoomList();
void joinRoom(Snowflake UID, Snowflake RID);

View File

@@ -267,18 +267,82 @@ void ClientManager::getUserList() {
}
void ClientManager::createRoom(std::string roomName) {
}
RoomCreateRequestPacket roomCreateRequestPacket;
roomCreateRequestPacket.__data.packetType = PacketCategory::PACKET_REQUEST;
roomCreateRequestPacket.__data.requestType = RequestType::ROOM_CREATE;
roomCreateRequestPacket.__data.dataType = DataType::BINARY;
roomCreateRequestPacket.__data.packetLength = roomName.size();
memcpy(roomCreateRequestPacket.__data.data, roomName.c_str(), roomName.size());
void ClientManager::deleteRoom(Snowflake RID) {
int packetLength = roomCreateRequestPacket.__data.packetLength;
data_->recvbytes = data_->sendbytes = 0;
data_->transferredbytes = 0;
data_->wsabuf.len = packetLength + 8;
roomCreateRequestPacket.convToN();
memcpy(data_->wsabuf.buf, roomCreateRequestPacket.serialized, packetLength + 8);
iocp_.send(data_, 1, 0, true);
}
void ClientManager::getRoomList() {
RoomListRequestPacket roomListRequestPacket;
roomListRequestPacket.__data.packetType = PacketCategory::PACKET_REQUEST;
roomListRequestPacket.__data.requestType = RequestType::ROOM_LIST;
roomListRequestPacket.__data.dataType = DataType::BINARY;
roomListRequestPacket.__data.packetLength = 0;
int packetLength = roomListRequestPacket.__data.packetLength;
data_->recvbytes = data_->sendbytes = 0;
data_->transferredbytes = 0;
data_->wsabuf.len = packetLength + 8;
roomListRequestPacket.convToN();
memcpy(data_->wsabuf.buf, roomListRequestPacket.serialized, packetLength + 8);
iocp_.send(data_, 1, 0, true);
}
void ClientManager::joinRoom(Snowflake UID, Snowflake RID) {
RoomJoinRequestPacket roomJoinRequestPacket;
roomJoinRequestPacket.__data.packetType = PacketCategory::PACKET_REQUEST;
roomJoinRequestPacket.__data.requestType = RequestType::ROOM_JOIN;
roomJoinRequestPacket.__data.dataType = DataType::BINARY;
roomJoinRequestPacket.__data.packetLength = sizeof(Snowflake) * 2;
memcpy(roomJoinRequestPacket.__data.myId, &UID.snowflake, sizeof(Snowflake));
memcpy(roomJoinRequestPacket.__data.roomId, &RID.snowflake, sizeof(Snowflake));
int packetLength = roomJoinRequestPacket.__data.packetLength;
data_->recvbytes = data_->sendbytes = 0;
data_->transferredbytes = 0;
data_->wsabuf.len = packetLength + 8;
roomJoinRequestPacket.convToN();
memcpy(data_->wsabuf.buf, roomJoinRequestPacket.serialized, packetLength + 8);
iocp_.send(data_, 1, 0, true);
inRoom_ = true;
myRoomID_ = RID;
}
void ClientManager::exitRoom(Snowflake UID, Snowflake RID) {
RoomExitRequestPacket roomExitRequestPacket;
roomExitRequestPacket.__data.packetType = PacketCategory::PACKET_REQUEST;
roomExitRequestPacket.__data.requestType = RequestType::ROOM_EXIT;
roomExitRequestPacket.__data.dataType = DataType::BINARY;
roomExitRequestPacket.__data.packetLength = sizeof(Snowflake) * 2;
memcpy(roomExitRequestPacket.__data.myId, &UID.snowflake, sizeof(Snowflake));
memcpy(roomExitRequestPacket.__data.roomId, &RID.snowflake, sizeof(Snowflake));
int packetLength = roomExitRequestPacket.__data.packetLength;
data_->recvbytes = data_->sendbytes = 0;
data_->transferredbytes = 0;
data_->wsabuf.len = packetLength + 8;
roomExitRequestPacket.convToN();
memcpy(data_->wsabuf.buf, roomExitRequestPacket.serialized, packetLength + 8);
iocp_.send(data_, 1, 0, true);
inRoom_ = false;
}
void ClientManager::run() {