是否可以将套接字绑定到 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 监听,但只监听其中两个。

不,你必须为此使用两个不同的插座;将每个套接字绑定到其中一个地址。