p2pserver.h
来自「实现P2P NAT 客户端之间的通信,可以在同一LAN之间通信,也可以在不同LA」· C头文件 代码 · 共 34 行
H
34 行
#ifndef __P2P_SERVER_H__
#define __P2P_SERVER_H__
#include "../CommonDefine.h"
class P2PServer
{
public:
P2PServer();
~P2PServer();
bool ProcMsg();
private:
bool Initialize();
static DWORD WINAPI RecvThreadProc(LPVOID lpParam);
// 处理各个消息的函数
bool ProcUserLoginMsg(MSGDef::TMSG_HEADER *pMsgHeader, const sockaddr_in& remoteAddr);
bool ProcGetUserListMsg(MSGDef::TMSG_HEADER *pMsgHeader, const sockaddr_in& remoteAddr);
bool ProcP2PConnectMsg(MSGDef::TMSG_HEADER *pMsgHeader, sockaddr_in& remoteAddr);
bool ProcUserLogoutMsg(MSGDef::TMSG_HEADER *pMsgHeader, sockaddr_in& remoteAddr);
bool ProcUserActiveQueryMsg(MSGDef::TMSG_HEADER *pMsgHeader, const sockaddr_in& remoteAddr);
private:
SOCKET m_sSocket; // 套接字
HANDLE m_hThread; // 接收消息的线程
CRITICAL_SECTION m_PeerListLock; // 读写m_PeerList的临界区对象
PeerList m_PeerList; // 所有与server相连的节点组成的链表
};
#endif // __P2P_SERVER_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?