在连接客户端代码之前进行绑定

在连接客户端代码之前进行绑定,第1张

在连接客户端代码之前进行绑定

您不需要

bind(2)
这个。

您要在此处执行的 *** 作是使用与套接字不同的 网络接口
。要使用系统默认设置以外的网络接口,您需要将

SO_BINDTODEVICE
socket选项与一起使用
setsockopt
"eth1"
例如,您要使用的接口应在要传递给
ifr_name
ifreq
struct字段中指定为字符串
setsockopt
。为此,您需要包括
<net/if.h>
标题。

基本上,类似以下(未经测试)的代码:

int set_interface(int socket_fd, const char* interface_name){    ifreq interface;    memset(&interface, 0, sizeof(interface));    strncpy(interface.ifr_name, interface_name, IFNAMSIZ);    int res = setsockopt(socket_fd, SOL_SOCKET, SO_BINDTODEVICE, &ifreq, sizeof(ifreq));    return res;}

另外,请确保检查返回码,以防

setsockopt
失败。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4982043.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存