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