В моем приложении на c ++ я использую системный вызов getpeername и он возвращает 0.0.0.0 в var sa.
в errno нет ошибки, а код возврата равен 0.
вот код:
int GetSock(int sock)
{
struct sockaddr_storage ss;
socklen_t salen = sizeof(ss);
struct sockaddr *sa;
struct addrinfo hints, *paddr, *paddrp;
sa = (struct sockaddr *)&ss;
if (getpeername(sock, sa, &salen) != 0) {
error = errno;
return -1;
}
}
примечание: я собираю этот код с помощью GCC в Eclipse.
любая помощь?
спасибо!