udp发送数据和接收的对不上,下面是一段发送和接收,接受的0xFF变成了0
switch (m_Send)
{
case CONNECTION:
senddata[0] = 8;//---长度
senddata[1] = 0xff;//---目标
senddata[2] = PC_NUM;//---源
senddata[3] = CONNECTION;//---类型码
senddata[4] = GetCheckSum(senddata, 4);//---校验和
err = sendto(
UDPSocket,
reinterpret_cast<char *>(senddata),
10,
0,
(const sockaddr *)&s_RemoteAddr,
sizeof(s_RemoteAddr)
);
//err = WSAGetLastError();
//err = send(UDPSocket, reinterpret_cast<char *>(senddata), 10, 0);
if (err == SOCKET_ERROR)
{
MessageBox(_T("发送失败"));
return FALSE;
}
//udp1DataReceived();
break;//---发送
err = recvfrom(
UDPSocket, /* receive UDP data */
reinterpret_cast<char *>(RecvBuf),
BufLen,
0,
(sockaddr *)&s_RemoteAddr,
(int *)&sockaddrlen
);
if (err == SOCKET_ERROR) /* Is receive data right */
{
MessageBox(_T("receive data is failure!"));
UpdateData(FALSE);
return 0;
}
break;
{
case CONNECTION:
senddata[0] = 8;//---长度
senddata[1] = 0xff;//---目标
senddata[2] = PC_NUM;//---源
senddata[3] = CONNECTION;//---类型码
senddata[4] = GetCheckSum(senddata, 4);//---校验和
err = sendto(
UDPSocket,
reinterpret_cast<char *>(senddata),
10,
0,
(const sockaddr *)&s_RemoteAddr,
sizeof(s_RemoteAddr)
);
//err = WSAGetLastError();
//err = send(UDPSocket, reinterpret_cast<char *>(senddata), 10, 0);
if (err == SOCKET_ERROR)
{
MessageBox(_T("发送失败"));
return FALSE;
}
//udp1DataReceived();
break;//---发送
err = recvfrom(
UDPSocket, /* receive UDP data */
reinterpret_cast<char *>(RecvBuf),
BufLen,
0,
(sockaddr *)&s_RemoteAddr,
(int *)&sockaddrlen
);
if (err == SOCKET_ERROR) /* Is receive data right */
{
MessageBox(_T("receive data is failure!"));
UpdateData(FALSE);
return 0;
}
break;
...全文
相关推荐
udp文件发送(udp传输大文件的一个例子)
udp文件发送
winpcap编程实现UDP发送端
用winpcap编程实现一个UDP发送端,java编程实现接收端。Ethereal抓包工具也能抓到UDP包。
Python树莓派学习笔记之UDP传输视频帧操作详解
主要介绍了Python树莓派学习笔记之UDP传输视频帧操作,结合实例形式详细分析了Python树莓派编程中使用UDP协议进行视频帧传输的相关操作技巧与注意事项,需要的朋友可以参考下
qt下tcp,udp通讯
Qt下tcp和udp的编程例子,对Tcp和Udp的很好的理解, QT上的socket网络通信。
在MQL中操作socket套接字
MQL4本身所提供的接口所能做的事情是非常有限的,但是当你需要干其他事情的时候,你就需要用到一些工具,或者调用winapi,本文讲述了你如何通过调用winapi来操作socket实现网络访问


