일단 클라이언트 코드 채움
This commit is contained in:
@@ -69,7 +69,6 @@ public:
|
||||
void getUserList();
|
||||
|
||||
void createRoom(std::string roomName);
|
||||
void deleteRoom(Snowflake RID);
|
||||
void getRoomList();
|
||||
|
||||
void joinRoom(Snowflake UID, Snowflake RID);
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user