2013-12-23 1 views
0

Имея эту проблему с текущим NuGet 3.0.0-rc1 и последним OpenPGM/ZeroMQ/CLRZMQ, построенным из их соответствующих источников (все обновленные за последние несколько дней, x64):CLRZMQ PubSub через TCP работает через PGM не так много

  • Иметь рабочую 2.2.5 CLRZMQ PGM Pub/Sub пример в C# (т.е. среда способна, MSMQ установлен, работает VS2010 как администратор и брандмауэр не является фактором)
  • иметь рабочую 3.0.0 CLRZMQ TCP Pub/Sub class library в C# (предложение кода должно работы)
  • Я поменял местами адрес конечной точки wo очий (но старше) CLRZMQ пример в новую библиотеку 3.0.0 класса

я нет сообщений - издатель отправляет 10 сообщений, с помощью TCP мы получаем все 10, с помощью PGM никто (не поздно проблема столяр .)

Мы успешно создаем сокеты Pub/Sub, и никакие ошибки не высылаются ни издателем/подписчиком в любом сценарии. Я использую Poller, но даже заменяя это блокировкой Receive(), я не получаю никаких сообщений - кроме того, Poller работает с TCP.

Pub описание конечной точки: "pgm://10.195.128.121;232.1.1.6:9606"

Sub конечных точек Описание: "pgm://;232.1.1.6:9606"

Возможно, есть изменения между 2.2.5 и 3.0.0 из CLRZMQ о том, как они обрабатываются?

Помогите оценить!

ответ

1

Похоже, что проблема заключалась в попытке использования петли мультивещания/PGM в одном и том же поле. Он отлично работает на отдельных коробках.

This link дает более подробную информацию об изменении поведения при обновлении до версии 3 ZeroMQ.

И эта ссылка дает более подробную информацию о формате описания конечных точек, используемом ZeroMQ для многоадресных адресов: Open PGM Concepts Transport