多网卡 socket 的bind问题

本文讨论了在多网卡环境下,如何在socket编程中选择IP进行bind,包括使用INADDR_ANY和特定IP的差异。还提到了bind的安全问题,如在同一端口上绑定多个Socket可能导致的数据包接收冲突,以及如何使用SO_EXECLUSINEADDRUSE选项避免此类问题。文章适合Windows网络编程的学习者。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

               

delphi中请问,在多网卡中socket的bind (ip地址采用 sin_addr.S_un.S_addr=INADDR_ANY)是那块网卡的ip

1楼:最简单方法,同时运行另外一个程序,bind一个地址,如果成功,则不是这个地址,否则。。。
2楼:接收本机所有网络接口的数据,如果绑定则接收绑定接口的数据
3楼:我是说绑定特定IP则会接收那个接口的数据
7楼:If an application does not care what local address is assigned, specify the manifest constant value ADDR_ANY for the sa_data member of the name parameter. This allows the underlying service provider to use any appropriate network address, potentially simplifying application programming in the presence of multihomed hosts (that is, hosts that have more than one network interface and address).
抄自MSDN,按这样说,是不是意味着我们用ADDR_ANY的时候就不会去关心到底bind了哪一块网卡,如果你比较关心这一点,不如直接去bind某一块,而不会使用ADDR_ANY.
8楼:INADDR_ANY是所有网卡的地址
9楼:是由底层操作系统选择的任何一块可用的网卡

发表于:2005-12-11 20:39:09

如果在建立socket的时候sin_addr .s_addr = INADDR_ANY;
这样的话网卡邦定是随机邦定的吗?在有多网卡的机器中
有这样一个问题,比如我有两个网卡 ip分别为128.128.1.14 和128.128.2.15 子网掩码分别是255.255.25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值