socket 指定网卡

本文介绍了Linux环境下多网卡路由的问题,包括服务端如何通过bind()函数选择绑定的网卡,以及客户端如何通过内核自动选择网卡进行连接。内核根据目的地址和路由表决定网卡选择,可以通过route命令配置路由规则。同时,强调了程序源码中指定套接字绑定IP的重要性,并提到如果需要控制特定网卡通信,可以搜索多网卡路由配置方法。
摘要由CSDN通过智能技术生成

链接: linux 多网卡路由问题_yuanbinquan的专栏-CSDN博客.
链接: linux route命令的使用详解.
链接: socket绑定指定网卡发包_phymat.nico的专栏-CSDN博客_socket 指定网卡.
这个程序用 TCP/IP 协议和外部通信时, 用哪个网卡, 服务端的话是由 bind() 的参数决定的. 你可以把套接字绑定到你指定的 ip 地址和端口上. 如果你的 IP 地址指定的是 htonl(INADDR_ANY), 就由内核去选择 IP 地址. 如果你有这个程序的源码的话, 你可以通过自己指定套接字绑定的 IP 地址来实现你的需求. 如果是客户端, connect() 前一般不调用 bind(), 由内核确定使用哪块网卡. 内核如何选择网卡, 是由你的程序连接的目的地址和路由表决定的. linux 下, 你可以通过 route 等工具配置哪些地址段使用哪个网卡, 这并不是为一个程序所指定的, 而是对每一个连接都生效的. 具体你可以搜索下多网卡的路由配置方法。

本博客是博主个人学习时的一些记录,不保证是为原创,如有侵权请与我联系。

留言即可,我会立即删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值