LINUX.ORG.RU

если у тебя есть int32 в котором хранится IP адресс то

   inet_ntoa(*(struct in_addr*)&ipaddr);

если есть готовый in_addr то кастинг не нужен

lg ★★
()
Ответ на: комментарий от lg

У меня вот-так:

struct sockaddr_in in_sa;
in_socket=accept(socket,(struct sockaddr*)&in_sa,&sa_length);

in_sa.sin_addr.s_addr если я правильно понял иемеет тип unsigned int

Тоесть нужно сделать inet_ntoa(*(struct in_addr*)&in_sa.sin_addr);

???

У меня сейчас нет возможности проверить, я на раоте где есть инет не под линухом.

anonymous
()
Ответ на: комментарий от anonymous

Тоесть без кастинга
inet_ntoa(in_sa.sin_addr);

anonymous
()
Ответ на: комментарий от anonymous

struct sockaddr_in in_sa;

sa_length = sizeof(struct sockaddr_in); /* обязательно */
in_socket=accept(socket,(struct sockaddr*)&in_sa,&sa_length);

printf("Addr: %s\n", inet_ntoa(in_sa.sin_addr));

вообще тебе ченить почитать надо а не пальцем в небо тыкать

lg ★★
()
Ответ на: комментарий от lg

Да в инете все статьи какието, каламбурные попадаются. Что приходеться здесь ясность наводить.
А с sizeof, я провтыкал :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.