2014-10-02 3 views
0

Хорошо, это может показаться глупым и довольно очевидным, но я просто не могу пройти через него и не найти никакой полезной информации в Интернете (я, скорее всего, не знаю правильных слов для поиска с ...)Indy TIdUDPServer компонент OnUDPRead - удаленный IP?

Но ..

Есть ли способ получить удаленный IP на действие ServerUDPRead на компоненте TIdUDPServer? Я отправляю пакеты с сервера на один и тот же порт двух разных машин, поэтому до двух IP-адресов и получаю ответы на один и тот же серверный компонент из них; Теперь проблема заключается в том, как определить, откуда пришел каждый ответ; Есть ли способ прочитать это из самого пакета или мне понадобится реализовать второй компонент TIdUDPServer и отправить пакеты на каждый из целевых компьютеров отдельно ..? (Примечание: машина отвечает на мое приложение в тот же порт, на который был отправлен пакет. Таким образом, привязанный порт является тем, который необходимо прочитать);

Приветствия

М.

ответ

2

OnUDPRead обработчик события имеет ABinding параметр. IP-адрес отправителя находится в собственности ABinding.PeerIP.

+0

Я пробовал .IP, но не получил то, что мне было нужно. Так думал, что у ABinding есть только данные серверного компонента ... Попробует PeerIP asap и сообщит. Благодаря! –

+2

'ABinding.IP' - это локальный IP-адрес, на который« TIdUDPServer »получает. 'ABinding.PeerIP' - это удаленный IP-адрес отправителя. –