2015-07-29 4 views
0

У меня есть все примеры для моделирования INET (AODV). Моя сеть включает в себя количество хостов AODV Router.Как расширить различные модули Inet с помощью настраиваемых сообщений?

Следующей задачей является обмен некоторыми пользовательскими массажами относительно текущей позиции каждого хоста (которая будет обновляться через некоторое время через Mobility). Все примеры, которые я нашел (обычно), составляют tictoc, которые просят меня построить simpleModule в файле .cc, а затем использовать этот модуль в файле .ned. Я хочу использовать модуль AODVRouter для обмена этими сообщениями (поскольку у него уже есть реализованные вещи, которые мне нужны для сети).

This является примером, который я использовал для обмена сообщениями с cSimpleModule

Я попробовал этот пример (как описано в INET проекта), но проблема в том, что это только расширение cSimpleModule. Поскольку я хочу использовать модуль AODVRouter (из INET) в качестве отправителя и получателя, я не могу использовать этот пример. Поэтому мой вопрос заключается в том, каким образом это сделать (т. Е. Отправлять и получать сообщения через модули INET, такие как модуль AODVRouter).

+0

Каков ваш реальный вопрос? Название вопроса задает одно, но ваш последний абзац спрашивает другого. Кроме того, что вы пробовали до сих пор? Любые ссылки, примеры кода и т. Д., Которые вы можете предоставить, были бы полезными. –

+0

Может быть, теперь это яснее? Извините за неясность. Но я хочу знать, как вы можете отправлять сообщения через встроенные модули (такие как AODVRouter)? Потому что в приведенном выше примере он сообщает вам сделать это через cSimpleModule. –

+0

Это [это] (https://omnetpp.org/doc/omnetpp/tictoc-tutorial/txc6.cc.html) учебник, который вы используете? Вы должны ссылаться на учебник/пример, а не просто копировать/вставлять его. –

ответ

1

Как вы справляетесь с этой проблемой, зависит от того, что это за сообщения и как они связаны с протоколом AODV.

  • Если вы пытаетесь расширить протокол AODV с некоторыми особенностями местоположения осведомленных и местоположения будут использоваться самим протоколом маршрутизации, то вы, очевидно, должны смотреть в AODVRouting source code. Вы можете проверить там, как отправлять и получать сообщения.

  • Если сообщение полностью не связано с AODV, и вы хотите реализовать какой-то обмен сообщениями на уровне приложений, тогда вам нужно создать модуль «Приложение» и установить его в маршрутизатор. Конечно, вы должны знать, хотите ли вы отправлять данные с помощью TCP или UDP (я предполагаю UDP, поскольку это больше подходит для обмена данными, ориентированного на сообщения). В этот момент вы должны реализовать что-то вроде UDPBasicApp, добавив, что вы создаете свой собственный PacketType, который содержит данные, которые вы хотите передать (т. Е. Координаты узла). Используйте это для запуска.

Как правило, учебник TicToc - это всего лишь базовый пример, показывающий, как передача выполняется ядром OMNeT ++. Отправка INET требует дополнительных работ в зависимости от того, какой слой OSI вы пытаетесь отправить данные. Например, на прикладном уровне вам нужно открыть сокеты (см. Код) и использовать их для отправки. Остальная часть кодовой базы INET будет учитывать сложность правильного внедрения этой информации в пакеты нижнего уровня (UDP, IP, Ethernet)

+0

Спасибо за ответ. Это очищает много вещей. Можете ли вы сказать мне, что вы подразумеваете под словом «На прикладном уровне, например, вам нужно открыть сокеты (см. Код) и использовать это для отправки». Какой код вы имеете в виду? –

+0

Не беспокойтесь, я понял! Спасибо за эту помощь. Это заставит меня двигаться вперед. –

Смежные вопросы