是否可以将套接字绑定到 c 中的 2 个地址?
Is it possible to bind a socket to 2 adresses in c?
我必须创建一个从两个 IP 地址侦听的套接字。可以吗?
struct sockaddr_in6 bind_addr;
memset(&bind_addr, 0, sizeof(bind_addr));
bind_addr.sin6_family = AF_INET6;
bind_addr.sin6_port = htons(9001);
bind_addr.sin6_addr = in6addr_any;
if (bind(fd,(struct sockaddr *) &bind_addr,sizeof(bind_addr)) < 0) {
perror("bind() failed");
return -1;
}
我应该需要像 "in6addr_any" 这样的东西,它从所有 IP 监听,但只监听其中两个。
不,你必须为此使用两个不同的插座;将每个套接字绑定到其中一个地址。
我必须创建一个从两个 IP 地址侦听的套接字。可以吗?
struct sockaddr_in6 bind_addr;
memset(&bind_addr, 0, sizeof(bind_addr));
bind_addr.sin6_family = AF_INET6;
bind_addr.sin6_port = htons(9001);
bind_addr.sin6_addr = in6addr_any;
if (bind(fd,(struct sockaddr *) &bind_addr,sizeof(bind_addr)) < 0) {
perror("bind() failed");
return -1;
}
我应该需要像 "in6addr_any" 这样的东西,它从所有 IP 监听,但只监听其中两个。
不,你必须为此使用两个不同的插座;将每个套接字绑定到其中一个地址。