OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5303|回复: 4

利用netconn 创建udp服务端的问题

[复制链接]

15

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-8-4
在线时间
48 小时
发表于 2020-8-31 14:51:11 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 守望者2481632 于 2020-8-31 15:10 编辑

项目开发需求,用的是stm32f107,软件采用的 lwip+freertos 的架构。
下位机作为 udp 服务端,上位机作为 udp 客户端,用的是 netconn 进行网络编程。
正点原子的例程上创建 udp 连接的步骤是:
1.udpconn = netconn_new(NETCONN_UDP); 创建udp连接对象
2.netconn_bind(udpconn,IP_ADDR_ANY,UDP_DEMO_PORT); 绑定本地 ip 和端口
3.netconn_connect(udpconn,&destipaddr,UDP_DEMO_PORT); 连接到远程主机(绑定远端ip和端口)
这样确实可以实现udp通信,但前提是必须要知道远程主机的 ip 和端口,下位机作为服务端应该可以和同网段的任意 ip 通信才对,
绑定了远程主机的 ip 和端口后,就只能和固定的 ip 地址通信。

如何能在不知道远程主机的 ip 和端口的情况下,从远程主机发过来的网络数据中读取 ip 和端口,下位机再将应答发送到这个 ip 和端口上?
用socket编程的话,是可以实现的,我也调试通过了,现在我想用 netconn 编程,如何实现呢?

还望大神不吝赐教!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-8-4
在线时间
48 小时
 楼主| 发表于 2020-8-31 15:29:27 | 显示全部楼层
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4471
金钱
4471
注册时间
2013-4-22
在线时间
335 小时
发表于 2020-9-1 10:19:27 | 显示全部楼层
这个最多只能用在局域网。广域网实现不了,实现的话必须有单独的服务器。
回复

使用道具 举报

15

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-8-4
在线时间
48 小时
 楼主| 发表于 2020-9-1 18:11:07 | 显示全部楼层
三叶草 发表于 2020-9-1 10:19
这个最多只能用在局域网。广域网实现不了,实现的话必须有单独的服务器。

只需要在局域网中实现
回复

使用道具 举报

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2021-3-8
在线时间
41 小时
发表于 2021-4-15 11:35:08 | 显示全部楼层
楼主怎么解决得
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 15:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表