c++ - 如何将套接字动态绑定(bind)到一个网络接口(interface)?

标签 c++ c sockets bind

目前我执行以下操作来监听所有接口(interface)上的任何可用端口:

// hints struct for the getaddrinfo call
struct addrinfo hints, *res;
memset(&hints, 0, sizeof hints);
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;

// Fill in addrinfo with getaddrinfo
if (getaddrinfo(NULL, "0", &hints, &res) != 0) {
    cerr << "Couldn't getaddrinfo." << endl;
    exit(-1);
}

我只想动态绑定(bind)一个接口(interface),系统的非环回接口(interface)。

我该怎么做?

最佳答案

看看 SO_BINDTODEVICE。 Tuxology 有一个 good description这个

关于c++ - 如何将套接字动态绑定(bind)到一个网络接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1119401/

相关文章:

c# - .NET HttpClient 在 Azure WebApp 中响应缓慢或无响应

java - 简单的客户端服务器应用程序,但出了问题

c - rsize_t 定义在哪个头文件中?

C - 调整/放大图像

c++ - 为什么 tm_sec 在 time.h 中的范围是 0-60 而不是 0-59?

c++ - 为什么不需要导出模板类?

c - 重复字母的代码如何工作?

java - java战舰游戏建议

c++ - 删除数组

c++ - 将 uint8* 转换为 uint32* 是如何工作的?