feat: 중복 로그인 방지 코드 추가
This commit is contained in:
parent
1d103d7f16
commit
17013f70f5
6 changed files with 102 additions and 7 deletions
|
|
@ -27,7 +27,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void Login(const std::string &nickname);
|
||||
bool Login(const std::string &nickname);
|
||||
|
||||
virtual void Run() = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ enum class PacketID : uint16_t {
|
|||
Ping = 1,
|
||||
// 로그인 요청 (PKT_CS_Login)
|
||||
Login = 10,
|
||||
// 로그인 결과 응답 (PKT_SC_LoginResult)
|
||||
SC_LoginResult = 11,
|
||||
Chat = 20,
|
||||
|
||||
// 검 키우기 관련 패킷
|
||||
|
|
@ -52,6 +54,11 @@ struct PKT_CS_Login {
|
|||
char nickname[32];
|
||||
};
|
||||
|
||||
struct PKT_SC_LoginResult {
|
||||
// 0: 이미 접속 중, 1: 성공
|
||||
uint8_t result;
|
||||
};
|
||||
|
||||
struct PKT_SC_UpgradeResult {
|
||||
// 0: 파괴, 1: 성공, 2: 실패
|
||||
uint8_t result;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ public:
|
|||
static SessionManager &GetInstance();
|
||||
|
||||
void Join(std::shared_ptr<Session> session);
|
||||
bool TryJoin(std::shared_ptr<Session> session, const std::string &nickname);
|
||||
void Leave(std::shared_ptr<Session> session);
|
||||
void Broadcast(PacketHeader header, std::span<const uint8_t> body);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue