免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3510 | 回复: 8
打印 上一主题 下一主题

分配的socket,如何知道是WAN口还是LAN口的 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-17 11:37 |只看该作者 |倒序浏览
Hi, guys
今天碰到个问题,现在我板子上有2个网口,一个Lan口,一个Wan口,我写程序的时候发现我分配socket后,并不知道这个socket对应的是Lan口还是Wan口啊。
望指教,谢谢!

论坛徽章:
0
2 [报告]
发表于 2008-10-17 11:40 |只看该作者
棒定的是哪个IP,那个IP对应的就是tcp/ip协议栈上的MAC地址

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
3 [报告]
发表于 2008-10-17 11:43 |只看该作者
如果你不明确指定,而让系统自己选择的话:
1、如果你的程序作为客户端,哪么是由路由表来决定的,从那个接口出去就绑定这个接口的IP。
2、如果你的程序是服务端,哪么缺省绑定的是所有的IP,也就是说在所有的IP地址上做监听。

论坛徽章:
0
4 [报告]
发表于 2008-10-17 17:21 |只看该作者
多谢楼上的回答。现在的问题是server已经发SYN包出来了,我Listen的IP是缺省的,也就是说任何IP。但是就是连不上,不知道为什么?是不是和router有关系。

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
5 [报告]
发表于 2008-10-17 17:25 |只看该作者
server已经发SYN包出来了

SYN包应该是客户端发给SERVER的,SERVER不会发SYN包的。或许是你的理解有问题。

论坛徽章:
0
6 [报告]
发表于 2008-10-17 17:34 |只看该作者
O(∩_∩)O 不好意思,我都搞晕了。。。板子是既做server也做client,做server的时候,分配socket,绑定ip,其他client发过来的SYN包已经检测到,但是确无法连接。。板子上有个LAN口和一个WAN口。发送和接受都希望从WAN口走,现在的包发送没有问题,但是接受别人的SYN包还是有问题。不知道怎么回事。
ssffzz1 能否在给点提示

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
7 [报告]
发表于 2008-10-17 17:49 |只看该作者
如果路由和访问控制没有问题的话,哪么大多是软件自身的问题了。

对于SERVERl来说是这样的,客户用那个IP来访问的SERVER,哪么SERVER回包的时候也用这个IP来回包。

你抓包看看是否符合这个规则,还有各个字段的参数是否正确。

论坛徽章:
0
8 [报告]
发表于 2008-10-20 12:11 |只看该作者
这两天还在看这样的问题,也听取了很多人的意见。
servaddr.sin_addr.s_addr = htonl (INADDR_ANY);这样的写法应该是可以接收到2块网卡中任意一块的连接信息。在listen的时候也可以绑定固定的ip口,也就是固定的网口,我是这样做的,我绑定了固定的ip,但是在client连接的时候,server依然没有反应,但是抓包发现Client确实发了SYN。
难道真的是协议栈的问题?

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
9 [报告]
发表于 2008-10-20 14:41 |只看该作者
你抓包看看SERVER回了没有啊。同时SERVER的服务端也可以开DEBUG。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP