Получение IP-адреса после трансляции с использованием C в Linux - PullRequest
2 голосов
/ 31 января 2011

Я написал простую клиент-серверную программу на C под Linux. Я создал UDP-сокеты. Клиент передает сообщение, используя

sendto(clientsock, buf, 100, 0, (struct sockaddr *)&to, sizeof (to)); 

Сервер получает передаваемое сообщение, используя

recvfrom(serversock, buf, 100, 0, (struct sockaddr *)&rcv,&size);

Сообщение успешно получено сервером. На стороне сервера мне нужно найти исходный IP-адрес полученного сообщения. Как я могу это сделать?

1 Ответ

5 голосов
/ 31 января 2011

для звонка типа -

recvfrom(s, buf, BUFLEN, 0, &si_other, &slen)

используйте

printf("Received packet from %s:%d\nData: %s\n\n", inet_ntoa(si_other.sin_addr), ntohs(si_other.sin_port), buf);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...