Я пытаюсь использовать транспорт Multi-Destination-Cast, но я не знаю, как его настроить, я пытаюсь реализовать примеры URI, объясненные здесь, используя SimplePublisher.java и SimpleSubscriber.java
У меня есть один издатель и два подписчика.
Из параметров аэрона по умолчанию, которые содержат SimplePublisher.java и SimpleSubscriber.java, я изменил:
Из SimplePublisher.java
final String channel = "aeron:udp?control=192.168.0.3:4050|control-mode=manual";
И из SimpleSubscriber.java:
Я продублировал классы SimpleSubscriber1.java и SimpleSubscriber2.java и изменил следующую конфигурацию:
ПростойПодписчик1:
final String channel = "aeron:udp?endpoint=192.168.0.4:4051"
а также
ПростойПодписчик2:
final String channel = "aeron:udp?endpoint=192.168.0.5:4052"
Ошибки, которые я получаю как для издателя, так и для подписчика, практически идентичны:
Для издателя:
Publishing to aeron:udp?control=192.168.0.3:4050|control-mode=manual on stream Id 10
io.aeron.exceptions.ChannelEndpointException: RuntimeException : Channel error: Cannot assign requested address: bind : aeron:udp?control=192.168.0.3:4050|control-mode=manual
at io.aeron.ClientConductor.onChannelEndpointError(ClientConductor.java:196)
at io.aeron.DriverEventsAdapter.onMessage(DriverEventsAdapter.java:77)
at org.agrona.concurrent.broadcast.CopyBroadcastReceiver.receive(CopyBroadcastReceiver.java:100)
at io.aeron.DriverEventsAdapter.receive(DriverEventsAdapter.java:56)
at io.aeron.ClientConductor.service(ClientConductor.java:660)
at io.aeron.ClientConductor.doWork(ClientConductor.java:151)
at org.agrona.concurrent.AgentRunner.doDutyCycle(AgentRunner.java:233)
at org.agrona.concurrent.AgentRunner.run(AgentRunner.java:159)
at java.lang.Thread.run(Thread.java:748)
Failed to connect to subscriber
И для подписчика:
Subscribing to aeron:udp?endpoint=192.168.0.4:4051 on stream Id 10
io.aeron.exceptions.ChannelEndpointException: RuntimeException : Channel error: Cannot assign requested address: bind : aeron:udp?endpoint=192.168.0.4:4051
at io.aeron.ClientConductor.onChannelEndpointError(ClientConductor.java:187)
at io.aeron.DriverEventsAdapter.onMessage(DriverEventsAdapter.java:77)
at org.agrona.concurrent.broadcast.CopyBroadcastReceiver.receive(CopyBroadcastReceiver.java:100)
at io.aeron.DriverEventsAdapter.receive(DriverEventsAdapter.java:56)
at io.aeron.ClientConductor.service(ClientConductor.java:660)
at io.aeron.ClientConductor.doWork(ClientConductor.java:151)
at org.agrona.concurrent.AgentRunner.doDutyCycle(AgentRunner.java:233)
at org.agrona.concurrent.AgentRunner.run(AgentRunner.java:159)
at java.lang.Thread.run(Thread.java:748)
Если вам нужно, я могу дать вам более подробную информацию обо всем.
PD: у меня работает MediaDriver с LowLatencyMediaDriver, проблема не в этом.
заранее спасибо