基本信息
源码名称:MFC中UDP客户端实现
源码大小:141.19M
文件格式:.rar
开发语言:C/C++
更新时间:2020-02-06
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
udp客户端代码实现,数据包组包。

WSADATA wsaData;

std::string IPAddr = "192.168.1.43";
int Port = 8888;
WSAStartup(MAKEWORD(2, 2), &wsaData);
m_serverAddr.sin_family = AF_INET;
m_serverAddr.sin_port = htons(Port);
/*m_serverAddr.sin_addr.s_addr = inet_addr(IPAddr.c_str());*/
inet_pton(AF_INET, IPAddr.c_str(), &m_serverAddr.sin_addr);
m_sockClient = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

void CGlassUdpClientDemoDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
int len = 0;
unsigned char* senddata = new unsigned char[512];

memcpy_s(senddata len, sizeof(m_workNo), &m_workNo, sizeof(m_workNo));//workNo
len = sizeof(m_workNo);
memcpy_s(senddata len, sizeof(m_cameNo), &m_cameNo, sizeof(m_cameNo));                      //cameNo
len = sizeof(m_cameNo);
memcpy_s(senddata len, sizeof(m_partsNo), &m_partsNo, sizeof(m_partsNo));                   //partsNo
len = sizeof(m_partsNo);
memcpy_s(senddata len, sizeof(m_posX), &m_posX, sizeof(m_posX));                            //X
len = sizeof(m_posX);
memcpy_s(senddata len, sizeof(m_posY), &m_posY, sizeof(m_posY)); //Y
len = sizeof(m_posY);
memcpy_s(senddata len, sizeof(m_width), &m_width, sizeof(m_width));                         //width
len = sizeof(m_width);
memcpy_s(senddata len, sizeof(m_height), &m_height, sizeof(m_height));                      //height
len = sizeof(m_height);

USES_CONVERSION;

//相机名称
const char* cameraName = T2A(m_cameraName);
unsigned char cameraNameLen = strlen(cameraName);
memcpy_s(senddata len, sizeof(cameraNameLen), &cameraNameLen, sizeof(cameraNameLen));
len = sizeof(cameraNameLen);

memcpy_s(senddata len, cameraNameLen, (const void*)cameraName, cameraNameLen);
len = cameraNameLen;

//缺陷图片名称
const char* pictureName = T2A(m_pictureName);
unsigned char pictureNameLen = strlen(pictureName);
memcpy_s(senddata len, sizeof(pictureNameLen), &pictureNameLen, sizeof(pictureNameLen));
len = sizeof(pictureNameLen);

memcpy_s(senddata len, pictureNameLen, (const void*)pictureName, pictureNameLen);
len = pictureNameLen;

sendto(m_sockClient, (const char *)senddata, len, 0, (SOCKADDR *)&m_serverAddr, sizeof(m_serverAddr));

delete senddata;
senddata = NULL;
}