大家看一下:
sockaddr_in multicastAddr;
ip_mreq multicastRequest;WSAStartup(MAKEWORD(2,2), &wsaData);
sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
multicastAddr.sin_family = AF_INET;
multicastAddr.sin_addr.s_addr = htonl(INADDR_ANY);
multicastAddr.sin_port = htons(18006);bind(sock, (sockaddr *) &multicastAddr, sizeof(multicastAddr));multicastRequest.imr_interface.s_addr = htonl(INADDR_ANY);
multicastRequest.imr_multiaddr.s_addr = inet_addr(“224.1.2.3”);setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&multicastRequest,sizeof(multicastRequest));
我开了两个线程,分别用上面这段代码连接两个IP不同的服务器,为什么,第一个线程可以没有问题的连上去,而第二个就在bind的时候出错。这两个线程谁做第二个谁出错,为什么啊,急,在线等!!!
sockaddr_in multicastAddr;
ip_mreq multicastRequest;WSAStartup(MAKEWORD(2,2), &wsaData);
sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
multicastAddr.sin_family = AF_INET;
multicastAddr.sin_addr.s_addr = htonl(INADDR_ANY);
multicastAddr.sin_port = htons(18006);bind(sock, (sockaddr *) &multicastAddr, sizeof(multicastAddr));multicastRequest.imr_interface.s_addr = htonl(INADDR_ANY);
multicastRequest.imr_multiaddr.s_addr = inet_addr(“224.1.2.3”);setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&multicastRequest,sizeof(multicastRequest));
我开了两个线程,分别用上面这段代码连接两个IP不同的服务器,为什么,第一个线程可以没有问题的连上去,而第二个就在bind的时候出错。这两个线程谁做第二个谁出错,为什么啊,急,在线等!!!
我想应该是本地端口重新使用的问题,有没有什么办法指定一个空闲端口呢