ipv4和ipv6如何绑定同一个端口上

愤怒的呆鱼 2020-07-11 03:40:36
由于业务需要,我需要在同一个主机上同时建立ipv4和ipv6的sctp监听服务器;
ipv4绑定的都是0.0.0.0,端口38224,ipv6绑定的是::,端口是38224;
但是后者绑定的时候失败,error位address already in used;
但是当我把ipv6的端口换一个,他就绑定成功了;
请教下大家,我要怎么样才能让ipv4和ipv6绑定在同一个端口上;
...全文
13153 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
愤怒的呆鱼 2020-07-20
  • 打赏
  • 举报
回复
引用 8 楼 Datrilla 的回复:
发现搜索的资料别人都可以我的不行,仔细查看代码发现only参数设置错了,要设置1结果设置了0 。尴尬

Datrilla 2020-07-20
  • 打赏
  • 举报
回复
发现搜索的资料别人都可以我的不行,仔细查看代码发现only参数设置错了,要设置1结果设置了0 。尴尬
Datrilla 2020-07-20
  • 打赏
  • 举报
回复
我也是使用兼容模式的,但是我看到sshd可以启用两个。我下载了源码下来看,目前还没有看出哪里区别。貌似有隧道处理的那种可以两个都看到。我使用only限制也没有办法两个都启动起来。https://stackoverflow.com/questions/14388706/how-do-so-reuseaddr-and-so-reuseport-differ/14388707#14388707 SO_REUSEPORT set on socket1, socket2, or both sockets这种我也还没有使用过。你可以两个都显示么 linux ss -tap|grep shh
愤怒的呆鱼 2020-07-12
  • 打赏
  • 举报
回复
引用 3 楼 薛定谔之死猫 的回复:
ipv6侦听会覆盖ipv4侦听,即ipv6的侦听有能力处理ipv4包,除非指定ipv6only的内核参数

谢谢,按你说的方法果然可以解决问题。我一会再验证下ipv6是否有能力侦听ipv4的包,如果能的话就不用那么麻烦分别侦听了。
感谢感谢
愤怒的呆鱼 2020-07-12
  • 打赏
  • 举报
回复
引用 3 楼 薛定谔之死猫 的回复:
ipv6侦听会覆盖ipv4侦听,即ipv6的侦听有能力处理ipv4包,除非指定ipv6only的内核参数

那请问下如何制定ipv6 only呢?我验证一下
薛定谔之死猫 2020-07-12
  • 打赏
  • 举报
回复
ipv6侦听会覆盖ipv4侦听,即ipv6的侦听有能力处理ipv4包,除非指定ipv6only的内核参数
smwhotjay 2020-07-12
  • 打赏
  • 举报
回复
SOCKET v6s=SockLib::CreateListenSocketV6(80);
	if(v6s==SOCKET_ERROR)
	{
		printf("CreateListenSocketV6 err\n");
		return 1;
	}
    	
	SOCKET v4s=SockLib::CreateListenSocket("",80);
	if(v4s==SOCKET_ERROR)
	{
		printf("CreateListenSocket  err\n");
		return 1;
	}
	   
	//经过运行测试。v4s处理ipv4的。v6s处理ipv6的。
愤怒的呆鱼 2020-07-11
  • 打赏
  • 举报
回复
引用 1 楼 小白做过的实验 的回复:
address already in used意思是配置的这个ipv6地址已经使用在网络中的某一个接口了,你直接ping 应该是可以ping通的,换一个ipv6地址或者把配置这个ip的接口的ipv6地址修改了

如果是这样的话,那为什么我换一个端口就能绑定成功呢。

我还做了个测试,我这时候不再启动ipv4的监听,这时候ipv6可以绑定成功
樓滿風 2020-07-11
  • 打赏
  • 举报
回复
address already in used意思是配置的这个ipv6地址已经使用在网络中的某一个接口了,你直接ping 应该是可以ping通的,换一个ipv6地址或者把配置这个ip的接口的ipv6地址修改了

1,736

社区成员

发帖
与我相关
我的任务
社区描述
网络协议与配置相关内容讨论专区
网络协议网络安全tcp/ip 技术论坛(原bbs)
社区管理员
  • 网络协议与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧