URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8594
[ Назад ]

Исходное сообщение
"Как получить IP по известному дескриптору сокета?"

Отправлено GreenHouse , 24-Янв-10 22:03 
Есть такой код:

    sockaddr_in addr;
    socklen_t len;
    getpeername(sock, (sockaddr*)&addr, &len);
    char* buf = inet_ntoa(addr.sin_addr);
    bzero(&addr, sizeof(addr));
    cout<<buf<<endl;


sock - дескриптор полученого через accept сокета.

Продлема в том что этот код работает только раз, при втором подключении клиента к серверу
в buf записуется станный адрес не соответствующий действительности.
в чем проблемма?


Содержание

Сообщения в этом обсуждении
"Как получить IP по известному дескриптору сокета?"
Отправлено Michelnok , 25-Янв-10 00:08 
>в buf записуется станный адрес не соответствующий действительности.
>в чем проблемма?

Что возвращает getpeername? И что в errno, если getpeername возвращает не ноль?