Я работаю над пабом /суб -архитектурой со следующей настройкой: < /p>
приемник:
платформа: x86 Ubuntu 24.04 < /p>
Sender:
ARMV7 встроенное устройство с пользовательской OS на основе Ubunt .18
Конфигурация сборки: нет дополнительных флагов, за исключением того, что--with-pgm. < /P>
Детали архитектуры: < /strong> < /p>
Издатели: 55 отдельных устройств отправителя, на каждом 5 -х пабе клиент работает в отдельных процессах
абонент: отдельный подвод на отдельном устройстве x86
Каждый экземпляр издателя отправляет 40 коротких сообщений между сообщениями между сообщениями. < / p>
Проблема: < /strong> < /p>
Некоторые сообщения не попадают в подводный хост. Проблема либо влияет на первое сообщение до 40 -го числа для каждого клиента, либо в другую сторону, последние несколько сообщений, похоже, пропали без вести. , хотя Wireshark подтверждает, что они прибывают? Существуют ли конкретные конфигурации или дополнительные шаги отладки, которые я должен рассмотреть для решения этой проблемы? Диагностика:
Used Wireshark on the SUB side:
All messages appear to arrive successfully.
No NAK messages are sent for the missing messages.
шаги, которые я попробовал (без успеха):
On the sender side, set ZMQ_RECOVERY_IVL to 10 seconds.
On the receiver side, increased ZMQ_RATE to 10000 kbits/s.
On the receiver side, increased ZMQ_RCVBUF to 1000 kbits.
< /code>
журналы Wireshark < /strong> < /p>
Специальная проблема:
Большинство клиентов паба успешно завершили транзакцию. Два клиента не смогли этого сделать, первым был 192.168.50.49 на ID NR 3. Он потерял 34 из 40 сообщений. Номер 1-6 прибыл, оставшиеся сообщения не прибыли в петлю приемника. Второй сделал то же самое, но в этом случае прибыли последние 34 сообщения. Это был IP 192.168.50.67 ID NR 5. Что действительно интересно, так это то, что, хотя эти 2 клиента расположены на Sepaarte Hardwares и используют отдельные IP -адреса, их специфический PGM исходный порт < /em> то же самое. Я заметил, что это, кажется, происходит несколько раз. Если клиент не выполняет свою транзакцию, он, скорее всего, поделится исходным портом с другим клиентом. Хотя я не понимаю, почему это может быть проблемой для PGM.
клиент -код
//header
class Client : public RunIf
{
public:
Client(const std::string& msg, const char* pgmIp, const char* ip);
~Client();
void run() final;
private:
std::string msg;
std::unique_ptr context;
std::unique_ptr publisher;
bool initError = false;
const char* ip;
};
// cpp file
Client::Client(const std::string& msg, const char* pgmIp, const char* ip)
: RunIf(pgmIp)
, msg(msg)
, context(nullptr, zmq_ctx_term)
, publisher(nullptr, zmq_close)
, ip(ip)
{
std::cout
Подробнее здесь: https://stackoverflow.com/questions/793 ... -zmq-4-3-6
Отсутствуют сообщения с PGM в пабе/суб -архитектуре с использованием ZMQ 4.3.6 ⇐ C++
Программы на C++. Форум разработчиков
1739521387
Anonymous
Я работаю над пабом /суб -архитектурой со следующей настройкой: < /p>
приемник:
платформа: x86 Ubuntu 24.04 < /p>
Sender:
ARMV7 встроенное устройство с пользовательской OS на основе Ubunt .18
Конфигурация сборки: нет дополнительных флагов, за исключением того, что--with-pgm. < /P>
[b] Детали архитектуры: < /strong> < /p>
Издатели: 55 отдельных устройств отправителя, на каждом 5 -х пабе клиент работает в отдельных процессах
абонент: отдельный подвод на отдельном устройстве x86
Каждый экземпляр издателя отправляет 40 коротких сообщений между сообщениями между сообщениями. < / p>
Проблема: < /strong> < /p>
Некоторые сообщения не попадают в подводный хост. Проблема либо влияет на первое сообщение до 40 -го числа для каждого клиента, либо в другую сторону, последние несколько сообщений, похоже, пропали без вести. , хотя Wireshark подтверждает, что они прибывают? Существуют ли конкретные конфигурации или дополнительные шаги отладки, которые я должен рассмотреть для решения этой проблемы? Диагностика: [/b]
Used Wireshark on the SUB side:
All messages appear to arrive successfully.
No NAK messages are sent for the missing messages.
[b] шаги, которые я попробовал [/b] (без успеха):
On the sender side, set ZMQ_RECOVERY_IVL to 10 seconds.
On the receiver side, increased ZMQ_RATE to 10000 kbits/s.
On the receiver side, increased ZMQ_RCVBUF to 1000 kbits.
< /code>
[b] журналы Wireshark < /strong> < /p>
Специальная проблема:
Большинство клиентов паба успешно завершили транзакцию. Два клиента не смогли этого сделать, первым был 192.168.50.49 на ID NR 3. Он потерял 34 из 40 сообщений. Номер 1-6 прибыл, оставшиеся сообщения не прибыли в петлю приемника. Второй сделал то же самое, но в этом случае прибыли последние 34 сообщения. Это был IP 192.168.50.67 ID NR 5. Что действительно интересно, так это то, что, хотя эти 2 клиента расположены на Sepaarte Hardwares и используют отдельные IP -адреса, их специфический PGM исходный порт [/b] < /em> то же самое. Я заметил, что это, кажется, происходит несколько раз. Если клиент не выполняет свою транзакцию, он, скорее всего, поделится исходным портом с другим клиентом. Хотя я не понимаю, почему это может быть проблемой для PGM.
[b] клиент -код [/b]
//header
class Client : public RunIf
{
public:
Client(const std::string& msg, const char* pgmIp, const char* ip);
~Client();
void run() final;
private:
std::string msg;
std::unique_ptr context;
std::unique_ptr publisher;
bool initError = false;
const char* ip;
};
// cpp file
Client::Client(const std::string& msg, const char* pgmIp, const char* ip)
: RunIf(pgmIp)
, msg(msg)
, context(nullptr, zmq_ctx_term)
, publisher(nullptr, zmq_close)
, ip(ip)
{
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79375339/missing-messages-with-pgm-in-pub-sub-architecture-using-zmq-4-3-6[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия