永发信息网

请教UDP发送函数sendto的使用问题

答案:1  悬赏:60  手机版
解决时间 2021-01-16 19:38
请教UDP发送函数sendto的使用问题
最佳答案
给你一段简单处理的代码,你参考一下:
C/C++ code

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
sockaddr_in sendAddr;
sendAddr.sin_family = AF_INET;
sendAddr.sin_addr.s_addr = INADDR_BROADCAST;
sendAddr.sin_port = htons(SDP_SERVER_PORT);

//组包头
CommunicateHeader header;

memset(&header, 0, sizeof(CommunicateHeader));
memcpy(&header.leadByte, "NVSP", sizeof(header.leadByte));
header.version = 0;
header.flag = 0;
header.sequense = 0;
header.dataLength =0;
header.cmmand = NVSP_UDP_DEVICE;
header.result = 0;

UINT iCheckSum = nvspchecksum((UCHAR*)(&header), sizeof(CommunicateHeader));

SOCKET sendSocket = socket(AF_INET, SOCK_DGRAM, 0);
if(INVALID_SOCKET == m_sdpSendSocket)
{
AfxMessageBox(_T("创建SOCKET失败!"));
return;
}

BOOL optval;
lRet=setsockopt(sendSocket, SOL_SOCKET, SO_BROADCAST, (LPSTR)&optval, sizeof(optval));//设定为广播形式
if(-1==lRet)
{
AfxMessageBox(_T("SOCKET选项设置失败!"));
return;
}

UINT bufferSize = sizeof(CommunicateHeader) + 4;
char* sendPacket = new char[bufferSize];
memcpy(sendPacket, &header, sizeof(CommunicateHeader));
memcpy(sendPacket + sizeof(CommunicateHeader), &iCheckSum, sizeof(iCheckSum));

long lBytesSend = sendto(sendSocket, (char*)sendPacket, bufferSize, 0, (LPSOCKADDR)&sendAddr,sizeof(sendAddr));
if (lBytesSend != bufferSize)
{
AfxMessageBox(_T("发送数据失败!"));
return -1;
}
delete []sendPacket;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么跑PCR要用CDNA,而不用本身的DNA
taxes and customs duties是什么意思
女生一定得早睡吗?
积极面对拒绝,明确了自己,给成长的启发
老三牛奶店地址在什么地方,我要处理点事
求二战日本一部电影,讲述的是 二战日本开拓
昨天中的”领码分百万”3元多怎么还没到账啊
安卓求刀塔来了辅助
Dear Alice,How are you ? I’m in a new sch
好多除好多等于3于11
18岁是应该上学还是继续读书呢?
魔兽 真三哪里看直播
怎么查询2016年安工大宿舍分配情况
脸上有一个靶标是哪个电影
高考会考双曲线的第二定义吗
推荐资讯
780/25/0.4+4有简算方发吗?
我想知道国家多印了那么多钞票第一步是交给谁
奇迹暖暖公主级攻略8-2怎么就过不去了
different to和 different from的区别
我用快递方式寄钱给一个卖家 钱收到以后他把
坐汽车,从蓬安到南充要多久
跪求roxy red 片子 。13部越全越好!!谢谢
秦皇岛市第十三中学地址在什么地方,我要处理
tst现在怎么不火了
快来搞死那激萌的萝莉的空耳原曲名是什么?
在线等着急!单反拍照片全部变成红色了,可以
cad li怎么看
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?