У меня есть сокет UDP-сервера, который может получать датаграммы от клиентов, но не может отправить ответ ни одному из них.Ошибка сокета UDP 10049
Это код, который я использую для отправки буфера:
SOCKADDR_IN addr;
memset((char*)&addr, 0, sizeof(addr));
const char* ip = "127.0.0.1";
u_short port = 8888 // IP of the client to which the buffer is going to
if (inet_pton(AF_INET, ip, &addr) == 1)
{
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
sendto(s, buffer, UDP_PACKET_SIZE, NULL, (SOCKADDR *)&addr, addrlen);
}
sendto()
возвращает -1 и GetLastError()
говорит 10049, что означает адрес не доступен. Я отправляю и получаю буфер на localhost
.
Вы используете функцию [ 'inet_pton'] (http://msdn.microsoft.com/en-us/library/windows/desktop/cc805844%28v=vs.85%29.aspx) неправильно. –
Я использовал то, что нашел в Интернете. Каков правильный способ его использования? – user3530012
Что, если вы правильно назвали 'WSAStartup' (который мы не видим), правильно установите значение' addrlen' (которое даже не объявлено гораздо менее инициализированным) и т. Д. Извините, праздники оставили мой код- умения ясновидения немного ржавые. Сообщение * полный * код. – WhozCraig