4
다른 클라이언트의 수신 메시지를 수신하고 수신 할 수 있도록 서버 소켓을 바인드하려고합니다. 하지만 바인딩 할 수 없습니다. 오류를 반환합니다. 소켓 바인드가 실패했습니다. 99. 의미가 무엇인지 읽고 errno 99가 소켓이 없음을 나타냅니다. 어떤 아이디어? 감사합니다소켓 바인드 실패 errno = 99
UDP_socketID = socket(AF_INET, SOCK_DGRAM, 0);
if (UDP_socketID < 0)
{
printf("Socket creation failed! Error = %d\n\n", errno);
exit(0);
}
//specify server address, port and IP
bzero((char *)&serverAddr, sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = htonl(INADDR_ANY);
serverAddr.sin_port = htons(SERV_PORT);
check = inet_aton(SERVER_IP, &serverAddr.sin_addr);
if (check == 0)
printf("IP conversion error!\n\n");
start = bind(UDP_socketID, (struct sockaddr *) &serverAddr, sizeof(serverAddr));
if (start < 0) {
printf("Socket bind failed = %d\n", errno);
exit(0);
}
else
printf("Socket bind successful!\n");
'perror' 또는'strerror (errno)'를 사용하여'errno'에 연결된 휴먼 메시지를 얻습니다. –
오, 안돼! "요청 된 주소를 할당 할 수 없습니다." 서버 IP는 나 아닌 다른 호스트에 있습니다. 이 문제를 어떻게 해결할 수 있습니까? – Broccoli
@ 브로콜리 : 이것이 서버 측 코드라고 가정합니다. 서버가 수신 대기하는 인터페이스가 마음에 들지 않으면 SERVER_IP 항목을 제거하고 단순히 서버 소켓을 INADDR_ANY와 바인딩 할 수 있습니다. – SKi