jiuyaoshifang 发表于 2022-5-20 18:50:23

udp通信

最近在做udp通信的项目,出现了一个比较奇怪的问题,求大佬帮忙分析一下。
udp这边我做下位机,在和上位机进行联机调试后,上位机发送的指令我可以收到,但是我这边下位机返回给上位机的指令全部失败。使用udp测试软件,结果是上下位机都可以与udp测试软件进行双向通信。检查后发现,上下位机都做的是server端操作,但是udp严格意义上来说,是不分server端和click端的。
udp通信中,靠recvfrom和sendto函数,下位机可以接收到上位机的数据,说明recvfrom函数正常,并在recvfrom函数中获取地址,再使用sendto函数,使用从recvfrom函数中获取的地址,将sendto的内容发送至上位机。
现在recvfrom函数接收没有问题,但是sendto一直失败,求帮忙分析一下为什么会出现这种问题,防火墙已关闭。

jhq999 发表于 2022-5-20 20:58:56

本帖最后由 jhq999 于 2022-5-20 21:12 编辑

接收端口和发送端口一样吗?
recvfrom 返回的sockaddr是对方发送时使用的ip和端口

jiuyaoshifang 发表于 2022-5-22 14:15:59

jhq999 发表于 2022-5-20 20:58
接收端口和发送端口一样吗?
recvfrom 返回的sockaddr是对方发送时使用的ip和端口

是的,但是sendto用的就是对方发送过来的IP和端口

jiuyaoshifang 发表于 2022-5-22 14:16:47

已解决,记得和对方确认接收端口,发送的端口和结束的端口用的是两个
页: [1]
查看完整版本: udp通信