UDP датаграмма и адрес её отправителя
От: AlexGin Беларусь  
Дата: 12.05.20 19:17
Оценка:
Доброе время суток, уважаемые коллеги!

Имеется UDP socket (связанный с определённым, известным, портом).
На этот сокет поступила датаграмма от компьютера в нашей сети.
Эту датаграмму приложение, которое владеет вышеуказанным сокетом, успешно приняло.

Вопрос: как определить IP адрес, с которого поступила датаграмма?
OS: Linux (POSIX).

Куда и как копать?

Заранее благодарю за любые подсказки!
Отредактировано 12.05.2020 19:18 AlexGin . Предыдущая версия .
Re: UDP датаграмма и адрес её отправителя
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 12.05.20 20:45
Оценка: 4 (1)
Здравствуйте, AlexGin, Вы писали:

AG>Имеется UDP socket (связанный с определённым, известным, портом).

AG>На этот сокет поступила датаграмма от компьютера в нашей сети.
AG>Эту датаграмму приложение, которое владеет вышеуказанным сокетом, успешно приняло.

AG>Вопрос: как определить IP адрес, с которого поступила датаграмма?

AG>OS: Linux (POSIX).

AG>Куда и как копать?


recvfrom не пробовал?
Маньяк Робокряк колесит по городу
Re: UDP датаграмма и адрес её отправителя
От: reversecode google
Дата: 12.05.20 20:47
Оценка:
что за бред ?
recvfrom уже выдает и пейлоад дейтаграммы и сокаддр от которого пришло
Re[2]: UDP датаграмма и адрес её отправителя
От: AlexGin Беларусь  
Дата: 12.05.20 21:15
Оценка:
Здравствуйте, уважаемый Marty, Вы писали:
...
M>recvfrom не пробовал?

Спасибо, хоть буду знать — куда копать (пока ещё ничего не пробовал).
Re[2]: UDP датаграмма и адрес её отправителя
От: AlexGin Беларусь  
Дата: 12.05.20 21:56
Оценка:
Здравствуйте, reversecode, Вы писали:

R>что за бред ?


R>recvfrom уже выдает и пейлоад дейтаграммы и сокаддр от которого пришло
понятно — возможно это именно то, что и требуется
Re[3]: UDP датаграмма и адрес её отправителя
От: reversecode google
Дата: 12.05.20 22:53
Оценка: -1
а мне не понятно
вы пишите — уже приняло, и спрашиваете как определить
если так пишите,значит реализация приема реализована
зачем тогда спрашивать как определить если уже все реализовано ?

я бы реккомендовал что то почитать по сетевому программированию
потому что емнип это не первый ваш вопрос по сетям
Re[4]: UDP датаграмма и адрес её отправителя
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 12.05.20 22:56
Оценка: +1
Здравствуйте, reversecode, Вы писали:

R>вы пишите — уже приняло, и спрашиваете как определить

R>если так пишите,значит реализация приема реализована
R>зачем тогда спрашивать как определить если уже все реализовано ?

Он принимает через recv
Маньяк Робокряк колесит по городу
Re[5]: UDP датаграмма и адрес её отправителя
От: AlexGin Беларусь  
Дата: 13.05.20 04:51
Оценка:
Здравствуйте, Marty, Вы писали:
...
M>Он принимает через recv
+100500

Даже точнее — через библиотеку классов Qt (фреймворк Qt поддерживает все возможности и функции POSIX):
Там имеется экземпляр класса QUdpSocket

https://doc.qt.io/qt-5/qudpsocket.html

Где есть соответствующий метод:
QUdpSocket::readDatagram
Который как раз и обеспечит мне весь требуемый функционал.

Спасибо за подсказку!
Re[6]: UDP датаграмма и адрес её отправителя
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 13.05.20 05:52
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Даже точнее — через библиотеку классов Qt (фреймворк Qt поддерживает все возможности и функции POSIX):


Я рад, что вы решили свою проблему, но зачем такими странными заявлениями при этом кидаться...
socketpair() нет. SCM_RIGHTS не умеет.
Типовая библиотека для "мы вам дадим всё для Internet, остальное нам пофиг".

AG>Где есть соответствующий метод:

AG>QUdpSocket::readDatagram
AG>Который как раз и обеспечит мне весь требуемый функционал.

Да, это хотя бы есть.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.