![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли зная TSocket получить ip и порт удаленной машины? [D7]
Mer01 © (2010-02-25 22:17:00)Например, посылаю send в параметрах указан сокет, нужно узнать на какой ip и порт было послано сообщение.
Mer01 (2010-02-27 14:10:00) [1]Ооо... Да разобрался я уже, во 2 сообщении... Спасибо.
Rouse_ (2010-02-26 10:51:00) [2]Т.е. тебе нужно имея на руках только описатель сокета узнать параметры соединения?
Тогда смотри функцию getpeername()
Вот тебе пример ее использования: http://forum.sources.ru/index.php?showtopic=86903
Сергей М. (2010-02-26 09:33:00) [3]А тебе и так придется создавать эту "связку", иначе придется всякий раз при вызове перехваченной тобой ф-ции Send() вызывать getpeername() что вряд ли разумно, поскольку повлияет на сквозную производительность.
Mer01 (2010-02-26 08:57:00) [4]
> С тем же успехом можно перехватить и connect()
Если я буду перехватывать Connect мне придется создавать массив-связку Сокет-Адрес, поэтому мой вариант предпочтительнее, т.к. не использует лишних ресурсов.
Сергей М. (2010-02-26 08:12:00) [5]
> функция перехватывается у другого приложения
С тем же успехом можно перехватить и connect()
Mer01 (2010-02-25 22:41:00) [6]Не я делал, функция перехватывается у другого приложения. Впрочем уже не важно, с помощью getpeername сделал.
Сергей М. (2010-02-25 22:32:00) [7]
> нужно узнать на какой ip и порт было послано сообщение.
А connect() перед этим ктоделал, не ты разве ? Пушкин делал и тебе не сказал ?)
В параметре вызова этой ф-ции как раз и был указан целевой адрес:порт)