📄 cudpsocket-
字号:
CUdpSocket 使用:
#define FT_LOGIN 1
#define FT_DATA 3
BOOL InitSocketLib()
{
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD(2, 0);
if (WSAStartup(wVersionRequested, &wsaData) != 0)
return FALSE;
if (LOBYTE(wsaData.wVersion) != 2 ||
HIBYTE(wsaData.wVersion) != 0)
{
WSACleanup();
return FALSE;
}
return TRUE;
}
初始化:
CUdpSocket* pUdpSocket = new CUdpSocket();
pUdpSocket->SetCommLink(this);
pUdpSocket->SetLocalIpAddress(ipAddr);
pUdpSocket->Start();
接收报文回调:
void CGT3010VSPDlg::OnRxUdpPackage(CUdpSocket* pUdpSocket, CIpAddress& ipAddrPeer, BYTE* p, DWORD dwLen)
{
switch (p[12])
{
case FT_LOGIN:
OnRxLogin(pUdpSocket, ipAddrPeer, p, dwLen);
break;
case FT_DATA:
OnRxData(pUdpSocket, ipAddrPeer, p, dwLen);
break;
}
}
写数据:
#pragma pack(1)
typedef struct
{
char szGsmCode[12];
BYTE ucFrameType;
} ST_DATA_HEAD;
struct
{
ST_DATA_HEAD head;
BYTE ucData[BUF_SIZE];
} stData;
#pragma pack()
pUdpSocket->Write(ipAddressPeer, (BYTE*)&stData, nActualWrite + sizeof(ST_DATA_HEAD));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -