📄 cmmdef.h
字号:
#ifndef __LTM_CMMDEF__
#define __LTM_CMMDEF__
#include <vector>
#define PORT_SRV 1234
#define PORT_CLI 4321
#define SRV_RCV_MSG WM_USER+11
#define CLI_RCV_MSG WM_USER+21
#define TIMER_SRV_SEND 1
#define TIMER_SRV_ACKWAIT 2
#define SRV_SEND_TM 10
#define SRV_ACKWAIT_TM 5 //统计10次
#define PD_LEN 8
typedef struct SNDPKT
{
int id;
BYTE data[PD_LEN];
}SNDPKT;
#define REQ_ACK 1
typedef struct REQPKT
{
int id; char flag;
}REQPKT;
void GetLocalIP(BYTE&b1,BYTE&b2,BYTE&b3,BYTE&b4)
{
char hostname[128];
gethostname(hostname,128);
struct hostent* pHost=gethostbyname(hostname);
if(pHost==NULL||pHost->h_addr_list[0]==NULL) AfxMessageBox("ERROR on get local ip!!");
b1=pHost->h_addr_list[0][0] & 0x00ff;
b2=pHost->h_addr_list[0][1] & 0x00ff;
b3=pHost->h_addr_list[0][2] & 0x00ff;
b4=pHost->h_addr_list[0][3] & 0x00ff;
}
std::vector<SNDPKT> makepkts(const char*pData,int len)
{
//ASSERT(len>0)
int n=len/PD_LEN+1;
int offset,ct=0;
std::vector<SNDPKT> vret;
vret.clear();
if(len<=0) return vret;
SNDPKT spkt;
spkt.id=0;
memcpy(spkt.data,&n,sizeof(n));
GetLocalIP((spkt.data[4]),(spkt.data[5]),(spkt.data[6]),(spkt.data[7]));
vret.push_back(spkt);
for(offset=0,ct=1;offset<=len;offset+=PD_LEN,ct++)
{
spkt.id=ct;
memcpy(spkt.data,pData+offset,PD_LEN);
vret.push_back(spkt);
}
return vret;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -