В моем приложении C++ я использую системный вызов getpeername, и он возвращает 0.0.0.0 в var sa. нет никакой ошибки в егто, и код возврата равен 0.linux системный вызов getpeername C++
вот код:
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 в затмении. любая помощь?
спасибо!
Можете ли вы показать нам пример вашего кода? – birryree
Вы пытались использовать getpeername()? – yasouser
Похоже, что он используется в сокете, который не подключен или это серверный сокет. –