locked Re: Any Plans for JTalert to use Multicast?
the WSJT-X UDP Message Protocol allows multiple WSJT_X instances (the clients in this relationship) to interoperate with another application (the server in this relationship). Messages are sent from WSJT-X instances to the server specified in their "Settings->Reporting->UDP Server" options. The server can also reply asking WSJT-X to do certain things. Like colouring parts of decoded messages, or initiating a QSO with a station that called CQ. This so far is all straightforward with unicast addressing.
The WSJT-X UDP Message Protocol has always been intended to be used with multicast addressing which adds a whole new facet. That comes into play when a second application also wants to interoperate with the WSJT-X clients. With unicast addressing that would need a separate server address and port for each interoperating application, that adds a lot of complexity and does not scale well. With multicast addressing messages are sent to a multicast group address and every server that has joined the group, wherever they are on the Internet (with conditions as multicast wide-area routing is still not supported everywhere), will receive a copy of the message. With the WSJT-X UDP Message Protocol replies from servers to clients are always unicast since each reply message is intended for just one client.
Apart from a couple of applications that have implemented multicast, the main ways of having multiple applications interoperating with WSJT-X clients has been a forwarding arrangement on a different port. This allows applications to be "daisy-chained" together. There is one major limitation in this forwarding arrangement, only the first application in the chain can send replies to the WSJT-X clients, others can only receive messages in a passive way. There is no such restriction with multicast when used as intended.
There are several issues that have put us where we are currently, hopefully not for too much longer:
Note that switching a server application to listen on a multicast group address is trivial, usually only requiring a couple of basic networking function calls while setting up the server listening socket.
On 04/08/2020 20:38, Dave Garber wrote: