📄 sockets.h.svn-base
字号:
#ifndef REALMSERVER_WORLDSOCKET_H
#define REALMSERVER_WORLDSOCKET_H
#define WORLDSOCKET_SENDBUF_SIZE 131078
#define WORLDSOCKET_RECVBUF_SIZE 16384
class WorldPacket;
class Session;
class WorldSocket : public Socket
{
public:
bool Authed;
WorldSocket(SOCKET fd);
~WorldSocket();
// vs8 fix - send null on empty buffer
VENICE_INLINE void SendPacket(WorldPacket* packet) { if(!packet) return; OutPacket(packet->GetOpcode(), packet->size(), (packet->size() ? (const void*)packet->contents() : NULL)); }
VENICE_INLINE void SendPacket(StackBufferBase * packet) { if(!packet) return; OutPacket(packet->GetOpcode(), packet->GetSize(), (packet->GetSize() ? (const void*)packet->GetBufferPointer() : NULL)); }
void __fastcall OutPacket(uint16 opcode, size_t len, const void* data);
VENICE_INLINE uint32 GetLatency() { return _latency; }
void Authenticate();
void InformationRetreiveCallback(WorldPacket & recvData, uint32 requestid);
void OnRead();
void OnConnect();
void OnDisconnect();
protected:
void _HandleAuthSession(WorldPacket* recvPacket);
void _HandlePing(WorldPacket* recvPacket);
private:
uint32 mOpcode;
uint32 mRemaining;
uint32 mSize;
uint32 mSeed;
uint32 mClientSeed;
uint32 mClientBuild;
uint32 mRequestID;
WorldPacket * pAuthenticationPacket;
WowCrypt _crypt;
uint32 _latency;
Session * m_session;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -