Есть ли способ иметь асинхронный клиент и сервер в ZeroMQ, используя один и тот же TCP-порт и множество сокетов?
Да, есть.
В качестве превентивного шага, иными словами, прежде чем попадать в неприятности, лучше всего рассмотреть основные концептуальные различия в [иерархия ZeroMQ менее чем за пять секунд] илидругие сообщения и обсуждения здесь.
Да выше означает, один - .bind()
- много - .connect()
-s, которыесостав по-прежнему использует только один <transport-class>://<a-class-specific-address>
, что для tcp://
транспортного класса на IPv4 означает, что один tcp://A.B.C.D:port#
занят для всей этой 1:MANY
-sockets-составной.
По понятным причинам более сложные композиции, такие как many - .bind()
-s- many - .connect()
-s, возможны, где это возможно, учитывая топологию инфраструктуры ZeroMQопции, а также функции маршрутизации сообщений в сокете, таким образом, настраиваются и используются для интеллектуальных решений по фактическому потоку сообщениймеханика.