Networking - Working with Multiple Computers

Overview

Dr. Neau's Tournament Manager can be run as a standalone application one system. It can also be run as a client/server application on multiple computers.

This topic gives you everything you need to know (and more) about how to utiltize the networking features, along with detailed descriptions of what happens behind the scenes.

Why Use Networking?

Utilizing network clients allows you to display consoles on other hosts. The remote consoles display the exact same information that is seen on the server console including all overlays, all information and all alerts (including audios). This is a great option when you have a tournament that spans multiple rooms. For instance, you might have three tables in your basement and two in your garage. With networking, you could put one laptop in the basement as the "server" and then another in the garage as the "client".

Requirements

The requirements for utilizing the networking features are simple:

That's it.

It might also help to review what you DON'T need:

Starting the Server

In order to connect a network client, you must first start the server. Here's how you do that:

Note: Your system may complain that the port is already in use and fail to start the server. If that's the case, just try different port numbers until you find one that works.

Connecting a Client

Once the server is started, connecting a client is simple:

Note: If you have multiple IP addresses from the server, they may not all work. Just keep trying each address until you find one that works.

Messages

Client to Server

Message Type Message Description
Announcement Request The client asking the server to queue an announcement for display on the consoles
Build Verification Request The client sending its build information to the server
Client Name Update The client telling the server that it has a new name
Component Update Request The client asking the server to send updates for all library components
Console Update Request The client asking the server to send updates of the entire console data model
Overlay Request The client asking the server to display a particular overlay
Play Audio The client asking the server to play an audio on all systems

Server to Client

Message Type Message Description
Add Audio Server giving the client a new audio clip
Add Chip Design Server giving the client a new chip design
Add Console Dashboard Server giving the client a new console dashboard
Add Image Server giving the client a new image
Build Verification Result Server responding to the client with the result of the build verification
Console Data Model Update Server sending an individual update for the console data model
Exit Gracefully Server telling the client to disconnect and shutdown
Play Audio Server telling all clients to play the specified audio
Remove Audio Server telling the client to remove an audio
Remove Chip Design Server telling the client to remove a chip design
Remove Console Dashboard Server telling the client to remove a console dashboard
Remove Image Server telling the client to remove an image
Rename Audio Server telling the client to rename an audio
Rename Chip Design Server telling the client to rename a chip design
Rename Console Dashboard Server telling the client to rename a console dashboard
Rename Image Server telling the client to rename an image
Update Audio Server telling the client to update an audio (same name but new content)
Update Chip Design Server telling the client to update a chip design (same name but new content)
Update Console Dashboard Server telling the client to update a console dashboard (same name but new content)
Update Image Server telling the client to update an image (same name but new content)

Client Connection: The Happy Path

Here's what happens when you connect a client:

See Also