RTI DDS Src HostId для IP-адреса
Я использую RTI DDS Spy для отладки приложения DDS. Я заметил странные сообщения в шпионском инструменте, которые, как мне кажется, не приходят из моего приложения.
Вопрос в том, как мне взять Src HostId
и выяснить IP адрес отправителя? (Wireshark не вариант.)
1 ответ
Решение
Поля в Src HostId
обычно это шестнадцатеричная версия исходного IP-адреса. Например, возьмите следующий вывод Spy:
source_timestamp Info Src HostId topic type
----------------- ---- ---------- ------------------ ------------------
1369074721.938245 R +N C0A80103 CellTopic life::CellType
1369074721.937270 W +N C0A80103 CellTopic life::CellType
1369074721.938615 D +N C0A80103 CellTopic life::CellType
1369074721.938726 D +N C0A80103 CellTopic life::CellType
Глядя на четыре байта в третьем столбце C0 A8 01 03
перевод их из шестнадцатеричной в десятичную по порядку приводит к 192.168.1.3
(так как C0
является 192
в десятичном виде, A8
является 168
и, очевидно, 01
является 1
а также 03
является 3
).
Кстати, для более подробной информации о Src HostId
, также проверьте помощь, используя rtiddsspy -hOutput
:
Src HostId : Contains the sourceId part of the Global Unique
IDentifier (GUID) of the writer that sent the sample.
This value is formatted as an IP address because this
is the default setting for NDDS. Consequently this
column will match the IP address of the sender
of the message provided that: (1) the application is
running on an IP network, (2) it has not disabled the
UDPv4 transport and (3) it has not explicitly
overridden the 'appId'