Mike,

a network server in an IP network is an application that binds a service port on one or more network interfaces and listens for traffic from clients. Network clients discover the server by some prearranged mechanism and send messages to the server with the option to receive replies back from the server on an ephemeral service port. This is true for both UDP and TCP although the TCP connection is connection and stream orientated and persists throughout a communications session whereas UDP communications are connectionless consisting of datagram blocks which stand alone. Either way bi-directional communication is possible and normal. The distinguishing feature of a server is that a single server  may have many clients.

Given the above WSJT-X is a client and an application wishing to interoperate with WSJT-X is a server. I don't see how that can be seen any other way. Note also that a server is only a server because it serves clients. Your statement about a "server" without clients makes no sense, a server can have no clients at some point in time but it is not a server if it cannot accept client messages and do something with them.

The terms client and server are more about how communication is established and the cardinality of relationships, not as you state a protocol that is implemented using UDP or TCP.

I still do not see any references to servers in the WSJT-X sources that are incorrect, likewise references to clients. The text you quote from NetworkMessage.hpp is describing the protocol and as such it refers to both clients and servers, it must do that to make any sense.

73
Bill
G4WJS.

On 15/10/2019 14:32, Black Michael via wsjt-devel wrote:
NetworkMessage.hpp -- several places.  Though after reading some more descriptions it does seem to free flow back and forth as to who is client and who is server.  The message aggregator is referred to as a server....not sure why....in my book a server is the one piece that can run by itself....clients aren't required. Clients are useless without the server.   I think the code comments were written to be very generic as the client/server relationship is very much message specific to In/Out.   UDP protocol doesn't really have a cliient/server architecture...just a protocol that rides on it.  You could just as well replace client/server with "program and another program".

 * it  is essential  that clients  and
 * servers  of  this protocol  can  agree  on  a common  scheme.   The
 * NetworkMessage  utility classes  below exchange the schema  number
 * actually used.  The handling of  the schema is backwards compatible
 * to  an  extent,  so  long   as  clients  and servers  are  written
 * correctly. For  example a server  written to any particular schema
 * version can communicate with a client written to a later schema.


 *    message is intended to be used by servers to detect the presence
 *    of a  client and also  the unexpected disappearance of  a client
 *    and  by clients  to learn  the schema negotiated by  the server
 *    after it receives  the initial heartbeat message  from a client.

And more...

Mike

On Tuesday, October 15, 2019, 06:45:44 AM CDT, Bill Somerville <g4...@classdesign.com> wrote:


On 15/10/2019 05:35, Black Michael via wsjt-devel wrote:
> The description in the WSJT-X source is using the terminology of
> WSJT-X as the server and anybody talking to it as clients.

Mike,

where are you seeing that? It is not correct and if that is what is
stated it need changing.

73
Bill
G4WJS.


_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to