硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3012|回复: 3
收起左侧

[ThreadX全家桶] 想问下NetX Duo协议栈是否支持SO_REUSEADDR功能

[复制链接]

5

主题

28

回帖

43

积分

新手上路

积分
43
发表于 2021-7-6 09:53:03 | 显示全部楼层 |阅读模式
本帖最后由 shitang250 于 2021-7-6 09:54 编辑

想问下,NetX Duo的UDP支不支持SO_REUSEADDR功能

简单说就是一个IP地址可以绑定两个远端端口号,但是远端IP不一样这种场景。。
举例说明
本地IP地址:端口号             远端IP地址:端口号
192.168.8.100:8000------->192.168.8.101:8000
192.168.8.100:9000------->192.168.8.102:9000


LWIP是支持的(需要打开使能SO_REUSE 宏定义),我不清楚NetX Duo支持吗?




SO_REUSEADDR可以用在以下四种情况下。(摘自《Unix网络编程》卷一,即UNPv1)
1、当有一个有相同本地地址和端口的socket1处于TIME_WAIT状态时,而你启动的程序的socket2要占用该地址和端口,你的程序就要用到该选项。
2、SO_REUSEADDR允许同一port上启动同一服务器的多个实例(多个进程)。但每个实例绑定的IP地址是不能相同的。在有多块网卡或用IP Alias技术的机器可以测试这种情况。
3、SO_REUSEADDR允许单个进程绑定相同的端口到多个socket上,但每个socket绑定的ip地址不同。这和2很相似,区别请看UNPv1。4、SO_REUSEADDR允许完全相同的地址和端口的重复绑定。但这只用于UDP的多播,不用于TCP。




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115812
QQ
发表于 2021-7-6 10:00:26 | 显示全部楼层
回复

使用道具 举报

5

主题

28

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2021-7-6 10:02:06 | 显示全部楼层
eric2013 发表于 2021-7-6 10:00
标配
https://docs.microsoft.com/en-us ... tx-duo-bsd/chapter2

太感谢了,我找API手册找了半天不知道这个配置项或者函数对应的是啥。。。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115812
QQ
发表于 2021-7-6 10:08:08 | 显示全部楼层
shitang250 发表于 2021-7-6 10:02
太感谢了,我找API手册找了半天不知道这个配置项或者函数对应的是啥。。。

setsockopt设置即可
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-21 04:47 , Processed in 0.553374 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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