Files
Client/Server/RylServerProject/RylGameLibrary/Network/ClientSocket/LoginSocket.h
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

79 lines
1.8 KiB
C++

///////////////////////////////////////////////////////////////////////////////////////////////
//
// LoginSocket Class
//
// Last Update : 2002. 8.28
//
///////////////////////////////////////////////////////////////////////////////////////////////
#ifndef _GAMA_CLIENT_LOGIN_SOCKET_H_
#define _GAMA_CLIENT_LOGIN_SOCKET_H_
#include <cstdio>
#include <Network/ClientSocket/Send/SendPacket.h>
// forward decl
struct PktBase;
struct SERVER_LIST;
namespace ClientNet
{
class CClientEventHandler;
class CClientEventHandlerMgr;
}
const unsigned short PatcherModel = 1;
// class decl
class LoginSocket
{
public:
enum AuthFlag
{
AuthFlag_RegDB = 0x8000,
AuthFlag_Email = 0x4000
};
enum ConnectPort
{
DEFAULT_LOGIN_PORT = 10101 // Client Login TCP Port
};
LoginSocket();
virtual ~LoginSocket();
// 로그인 서버로 연결한다.
bool ConnectToLoginServer(ClientNet::CClientEventHandler* lpEventHandler,
const char* Address_In, unsigned short port = DEFAULT_LOGIN_PORT);
// 이벤트를 처리한다.
void HandleEvents(unsigned long dwProcessPerCall = 30);
// 연결을 끊는다.
void Disconnect();
void Destroy();
bool IsConnected();
bool ServerList(unsigned long ClientVersion_In); // 서버리스트 얻기 요청
void SetHandler(ClientNet::CClientEventHandler* lpHandler) { m_lpHandler = lpHandler; }
void ResetHandler(ClientNet::CClientEventHandler* lpHandler) { if(m_lpHandler == lpHandler) { m_lpHandler = 0; } }
// 서버리스트를 받는다.
static unsigned long HandleServerList(PktBase* lpPktBase,
unsigned long* ClientVer_Out, char* PatchAddress_Out,
SERVER_LIST* lpServerList_Out);
private:
ClientNet::CClientEventHandlerMgr* m_lpHandlerMgr;
ClientNet::CClientEventHandler* m_lpHandler;
};
#endif