selgate.h
来自「真正的传奇源代码」· C头文件 代码 · 共 56 行
H
56 行
#ifndef _SELGATE_DEFINE
#define _SELGATE_DEFINE
class CSessionInfo
{
public:
SOCKET sock;
OVERLAPPED Overlapped;
WSABUF DataBuf;
CHAR Buffer[DATA_BUFSIZE];
int bufLen;
public:
// ORZ:
CSessionInfo()
{
bufLen = 0;
}
int Recv()
{
DWORD nRecvBytes = 0, nFlags = 0;
DataBuf.len = DATA_BUFSIZE - bufLen;
DataBuf.buf = Buffer + bufLen;
memset( &Overlapped, 0, sizeof( Overlapped ) );
return WSARecv( sock, &DataBuf, 1, &nRecvBytes, &nFlags, &Overlapped, 0 );
}
bool HasCompletionPacket()
{
return memchr( Buffer, '!', bufLen ) ? true : false;
}
// recv 滚欺俊辑 肯己等 窍唱狼 菩哦阑 惶酒辰促.
char * ExtractPacket( char *pPacket )
{
int packetLen = (char *) memchr( Buffer, '!', bufLen ) - Buffer + 1;
memcpy( pPacket, Buffer, packetLen );
memmove( Buffer, Buffer + packetLen, DATA_BUFSIZE - packetLen );
bufLen -= packetLen;
return pPacket + packetLen;
}
};
void InsertLogMsg(UINT nID);
void InsertLogMsg(LPTSTR lpszMsg);
#endif //_SELGATE_DEFINE
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?