QUdpSocket, как послать пакет чтобы его поймали все |
Здравствуйте, гость ( Вход | Регистрация )
QUdpSocket, как послать пакет чтобы его поймали все |
flankerr |
26.6.2009, 17:07
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
как послать udp пакет чтобы его "поймали" все приложения запущеные на данном компе и слушающие порт на который был послан пакет ?
Сообщение отредактировал flankerr - 26.6.2009, 17:21 |
|
|
SABROG |
26.6.2009, 17:28
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
А разве несколько программ могут открыть все один и тот же порт?
|
|
|
flankerr |
26.6.2009, 17:34
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
|
|
|
SABROG |
26.6.2009, 17:40
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Тогда, насколько я понял примеры Broadcast Receiver Example/Broadcast Sender Example разобраны и проблема здесь в том, что на локальной машине пакеты передающиеся на неё же минуют сетевую карту вообще. Эта таже проблема почему так мало снифферов, которые могут ловить локальный траффик, а те что существуют используют хак, а не promiscuous mode сетевой карты.
|
|
|
flankerr |
26.6.2009, 17:45
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
на сколько я знаю это только в виндах локальные пакеты минуют сетевую карту - хотямогу ошибаться.
Broadcast всётаки касается нескольких компов - а тут вопрос локальной машины. Хотя надо попробывать. |
|
|
mva |
26.6.2009, 18:29
Сообщение
#6
|
Участник Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0 |
как послать udp пакет чтобы его "поймали" все приложения запущеные на данном компе и слушающие порт на который был послан пакет Если предположить, что на один порт можно "повесить" несколько приложений, то как по-твоему ОС, не важно какая, должна определить какому именно приложению отдать принятый пакет? Протокол UDP означает только то, что пакет предназначен всем компьютерам подсети, а не то, что всем приложениям на каждом компе. Пакет IP (в теле которого записан UDP пакет) имеет атрибут "порт получателя", по которому ОС определяет, какому приложению его отдать. Так что ничего из этой затеи не выйдет. Учи протокол TCP/IP. |
|
|
flankerr |
26.6.2009, 19:16
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Если предположить, что на один порт можно "повесить" несколько приложений, А елси просто почитать эту тему то можно не просто предположить а точно знать. QUdpSocket::ReuseAddressHint|QUdpSocket::ShareAddress Цитата то как по-твоему ОС, не важно какая, должна определить какому именно приложению отдать принятый пакет? прямо в цель! по логике должна отдать ВСЕМ. но почему то этого не делает... А отдаёт только одному и как ОС определяет в какой сокет отдать пока загадка. Цитата Так что ничего из этой затеи не выйдет. Учи протокол TCP/IP. Возможно и не выйдет и разумеется учение свет Но таки то что на один порт можно повесить несколько сокетов вдохновляет на поиски Сообщение отредактировал flankerr - 26.6.2009, 19:16 |
|
|
niXman |
26.6.2009, 21:28
Сообщение
#8
|
Участник Группа: Участник Сообщений: 169 Регистрация: 18.6.2008 Пользователь №: 204 Спасибо сказали: 1 раз(а) Репутация: 0 |
Тупик! Я поднимал эту тему.
http://forum.vingrad.ru/topic-217764.html Сообщение отредактировал niXman - 26.6.2009, 21:30 |
|
|
flankerr |
28.6.2009, 21:17
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
у меня пока не было времени более детально мультикаст протестить.
А так есть вариант ограничить максимальное число локальных приложений и выделить каждому свой отдельный порт и рассылать на заданный диапозон портов. Конечно не совем то что хотелось но как вариант. |
|
|
niXman |
28.6.2009, 23:14
Сообщение
#10
|
Участник Группа: Участник Сообщений: 169 Регистрация: 18.6.2008 Пользователь №: 204 Спасибо сказали: 1 раз(а) Репутация: 0 |
Да.
|
|
|
Текстовая версия | Сейчас: 26.12.2024, 16:52 |