Я пишу серверное приложение, которое будет предоставлять службу через временный порт, доступ к которому я хочу получить только через интерфейс обратной связи. Для этого я пишу код, подобный следующему:
struct sockaddr_in bind_addr;
memset(&bind_addr,0,sizeof(bind_addr));
bind_addr.sin_family = AF_INET;
bind_addr.sin_port = 0;
bind_addr.sin_addr.s_addr = htonl(inet_addr("127.0.0.1"));
rcd = ::bind(
socket_handle,
reinterpret_cast<struct sockaddr *>(&bind_addr),
sizeof(bind_addr));
Возвращаемое значение для этого вызова bind () равно -1, а значение errno равно 99 (Невозможно назначить запрошенный адрес). Это сбой, потому что inet_addr () уже возвращает свой результат в сетевом порядке или есть какая-то другая причина?