Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли зная 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() перед этим ктоделал, не ты разве ? Пушкин делал и тебе не сказал ?)
В параметре вызова этой ф-ции как раз и был указан целевой адрес:порт)


Наверх

Титульная страница Поиск, карта сайта Написать письмо