Feescale K60开发笔记14: 再议UDP数据传输

本文详细介绍了在MQX环境中使用UDP进行数据传输的方法,包括UDP加载、发送及接收函数的具体实现步骤,并针对实践中遇到的数据无法正确回传的问题提供了有效的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


    这篇日志会比较深入的理解在MQX中使用UDP进行数据传输的方法。

    先看一下UDP加载函数:函数首先建立套接字,然后指定本地IP地址和端口号,远程IP地址和端口号,以及广播地址和端口号,接着指定套接字的选项为无等待,最后绑定本地IP。
图片 图片

    下面是UDP发送数据函数:
图片

    下面是UDP接收数据函数:数据发送的源地址会自动存入remote_sin中,所以在发送函数中调用remote_sin就可以给源地址回复数据。
图片

    以下是函数的调用例程:首先给udp_socket_ptr分配地址控件,然后指定本地端口号是929,远程端口号是929,远程IP地址是0.0.0.0用于记录远程IP地址,给远程IP地址回复数据。函数调用成功后,会返回0,否则可以根据错误提示,查找原因。
图片

    接下来用 UDP_ReceiveData函数接收数据,用 UDP_SendData函数发送数据,但是,会发现上面看似很正常但是,远程主机接不到回复数据,问题在这里,看下面函数,使用 UDP_ReceiveData接收数据后, remote_sin的IP地址可以更改为远程IP,但是端口号是随机的,所以希望将数据再发回远程主机,必须重新指定端口号。
图片 
    一切就这么简单,但是解决这个问题花费了很长时间,把日志写出来,希望后面看到的朋友能够少走一下弯路。

原创性文章,转载请注明出处  http://user.qzone.qq.com/2756567163  
优快云:http://blog.youkuaiyun.com/qingwufeiyang12346
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snmplink

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值