[Copyright]
[Table of Contents]
XYSystem Network (Communication Tree)
Communication in XYSystem is established in the following way: each involved instance of the XYMessenger objects join the XYSystem network as a node in a tree structure. We call it the communication tree. First there has to be a node known as the root. Then one or more child nodes are added to the tree by connecting to the root. Each of these child nodes can have one or more child nodes connected to it later. A node is added to the tree by calling the ConnectDirect method of XYMessenger. As demonstrated in the sample programs in this package, you can build a tree anyway you want, each node in the tree is an instance of the XYMessenger object.
The tree structure in XYSystem is mostly transparent to user applications. It does not limit the capability of any node in the tree. Any node can talk to any other node in the same tree by sending and receiving messages.
When creating the root node or a node that has children, a un-used local port number is required. When creating a node that is not the root, a remote port number and a server ip address have to be used to uniquely identify the parent (server), an existing node in the communication tree.
There can be multiple nodes embedded in the same process or the same thread. The Win32 version of XYMessenger use the apartment threading model. The Java version of XYMessenger is thread-safe.
The utility program XYRoot acts as the root node in the communication tree. It provides the default user authentication in secured mode: it will reject connection request from any party that does not provide correct user name and password. When used with XYRoot, the utility program XYAdmin provides capabilities to add and remove users, to change passwords for existing users, and to shutdown the system. You can ignore XYRoot and implement a different mechanism for user authentication in your system.