Конференция "Сети" » Можно ли зная TSocket получить ip и порт удаленной машины? [D7]
 
  • Mer01 (25.02.10 22:17) [0]
    Например, посылаю send в параметрах указан сокет, нужно узнать на какой ip и порт было послано сообщение.
  • Сергей М. © (25.02.10 22:32) [1]

    > нужно узнать на какой ip и порт было послано сообщение.


    А connect() перед этим кто делал, не ты разве ? Пушкин делал и тебе не сказал ?)
    В параметре вызова этой ф-ции как раз и был указан целевой адрес:порт)
  • Mer01 (25.02.10 22:41) [2]
    Не я делал, функция перехватывается у другого приложения. Впрочем уже не важно, с помощью getpeername сделал.
  • Сергей М. © (26.02.10 08:12) [3]

    > функция перехватывается у другого приложения


    С тем же успехом можно перехватить и connect()
  • Mer01 (26.02.10 08:57) [4]

    > С тем же успехом можно перехватить и connect()

    Если я буду перехватывать Connect мне придется создавать массив-связку Сокет-Адрес, поэтому мой вариант предпочтительнее, т.к. не использует лишних ресурсов.
  • Сергей М. © (26.02.10 09:33) [5]
    А тебе и так придется создавать эту "связку", иначе придется всякий раз при вызове перехваченной тобой ф-ции Send() вызывать getpeername() что вряд ли разумно, поскольку повлияет на сквозную производительность.
  • Rouse_ © (26.02.10 10:51) [6]
    Т.е. тебе нужно имея на руках только описатель сокета узнать параметры соединения?
    Тогда смотри функцию getpeername()

    Вот тебе пример ее использования: http://forum.sources.ru/index.php?showtopic=86903
  • Mer01 (27.02.10 14:10) [7]
    Ооо... Да разобрался я уже, во 2 сообщении... Спасибо.
 
Конференция "Сети" » Можно ли зная TSocket получить ip и порт удаленной машины? [D7]
Есть новые Нет новых   [134437   +30][b:0][p:0]