eroomiplist.h
来自「network library that can be use all netw」· C头文件 代码 · 共 72 行
H
72 行
#ifndef EROOMIPLIST_DEF
#define EROOMIPLIST_DEF
#include <windows.h>
#define EI_ST_CONNECTED 0x0001
#define EI_ST_TIMEOUT 0x0002
#define EI_ST_DISCONNECTED 0x0004
#define EI_ST_RECONNECT 0x1000
#define EI_POOLTIME 20000 // 10檬
///////////////////////////////////////////////////////////////////////////////////////////
//
// EI_ST_CONNECTED : 泅犁 楷搬等惑怕
// EI_ST_DISCONNECTED : 厚 楷搬惑怕
// EI_ST_RECONNECT : 谗绢柳版快 犁 楷搬夸备
//
// (1) 楷搬等惑怕 : 林扁利栏肺 POLLING(林绢柳 矫埃)
// 3林扁 捞惑狼 矫埃捞 儒福搁 DISCONNECTED ==> 皋技瘤免仿
///////////////////////////////////////////////////////////////////////////////////////////
struct __EROOMIPLIST
{
unsigned long m_Ip;
unsigned short m_Port;
int m_Status;
int m_Count;
unsigned long m_Time;
__EROOMIPLIST *mp_Prev;
__EROOMIPLIST *mp_Next;
};
typedef struct __EROOMIPLIST EROOMIPLIST;
#define AddDestination(x, y) Insert(x, y)
class CEroomIpList
{
EROOMIPLIST *mp_Head;
CRITICAL_SECTION m_CSection;
public:
CEroomIpList();
virtual ~CEroomIpList();
EROOMIPLIST *Head();
EROOMIPLIST *Insert(char *ap_Ip, int a_Port, int a_Status=EI_ST_CONNECTED|EI_ST_RECONNECT);
EROOMIPLIST *Insert(EROOMIPLIST *ap_Item);
int Delete(char *ap_Ip, int a_Port);
int Delete(EROOMIPLIST *ap_Item);
int Clear();
EROOMIPLIST *Find(char *ap_Ip, int a_Port);
void SetStatus(char *ap_Ip, int a_Port, int a_Status);
void AddStatus(char *ap_Ip, int a_Port, int a_Status);
void DelStatus(char *ap_Ip, int a_Port, int a_Status);
int GetStatus(char *ap_Ip, int a_Port);
void StartCSection() { EnterCriticalSection(&m_CSection); };
void EndCSection() { LeaveCriticalSection(&m_CSection); };
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?