Как получить исходный IP-адрес из IP-заголовка дейтаграммы с помощью Winsock? - PullRequest
1 голос
/ 07 декабря 2008

У меня есть порт, который привязан () к INADDR_ANY. Я успешно получаю дейтаграммы. После получения мне нужно прочитать IP-заголовок, чтобы получить исходный IP-адрес.

1 Ответ

4 голосов
/ 07 декабря 2008

Я не верю, что вы можете получить его, если используете стандартные вызовы функций recv или read. Recv из вызова следующим образом:

int recvfrom(
  __in         SOCKET s,
  __out        char *buf,
  __in         int len,
  __in         int flags,
  __out        struct sockaddr *from,
  __inout_opt  int *fromlen
);

включает структуру (от второго до последнего поля выше), которая будет получать адрес источника, который вы можете проверить для любых целей.

...