아이디 중복방지 일단 서버측 구현?
This commit is contained in:
@@ -177,8 +177,7 @@ void ServerManager::processLoginRequestPacket(LoginRequestPacket loginRequestPac
|
||||
std::string userName(
|
||||
(char*)loginRequestPacket.__data.data,
|
||||
loginRequestPacket.__data.packetLength);
|
||||
registerUser(userName, data->socket);
|
||||
|
||||
if (registerUser(userName, data->socket)) {
|
||||
LoginResponsePacket loginResponsePacket;
|
||||
loginResponsePacket.__data.packetType = Chattr::PacketCategory::PACKET_RESPONSE;
|
||||
loginResponsePacket.__data.requestType = Chattr::RequestType::LOGIN;
|
||||
@@ -193,6 +192,21 @@ void ServerManager::processLoginRequestPacket(LoginRequestPacket loginRequestPac
|
||||
data->sendbytes = 18;
|
||||
data->wsabuf.len = 18;
|
||||
data->IOCPInstance->send(data, 1, 0);
|
||||
}
|
||||
else {
|
||||
LoginResponsePacket loginResponsePacket;
|
||||
loginResponsePacket.__data.packetType = Chattr::PacketCategory::PACKET_RESPONSE;
|
||||
loginResponsePacket.__data.requestType = Chattr::RequestType::LOGIN;
|
||||
loginResponsePacket.__data.dataType = Chattr::DataType::BINARY;
|
||||
loginResponsePacket.__data.packetLength = sizeof(Chattr::ResponseStatusCode);
|
||||
loginResponsePacket.__data.responseStatusCode = Chattr::ResponseStatusCode::BAD_REQUEST;
|
||||
|
||||
loginResponsePacket.convToN();
|
||||
memcpy(data->wsabuf.buf, loginResponsePacket.serialized, 10);
|
||||
data->sendbytes = 10;
|
||||
data->wsabuf.len = 10;
|
||||
data->IOCPInstance->send(data, 1, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void ServerManager::processRoomCreateRequestPacket(RoomCreateRequestPacket roomCreateRequestPacket, Chattr::IOCPPASSINDATA* data) {
|
||||
@@ -428,6 +442,7 @@ bool ServerManager::registerUser(std::string userName, std::shared_ptr<TCPSocket
|
||||
userName2ID_[userName] = UID;
|
||||
UID2userSocket_[UID] = sock;
|
||||
userSocket2UID_[sock] = UID;
|
||||
return true;
|
||||
}
|
||||
|
||||
void ServerManager::deleteUser(Snowflake UID) {
|
||||
|
||||
Reference in New Issue
Block a user