Hilary Oliver, NIWA, 2012
cylc metascheduler.

CommsTestServer.py and CommsTestClient.py are minimal Pyro server and
client programs that communicate over the network in the same way that
cylc clients (tasks, commands, and GUIs) communicate with cylc servers
(running suites). EXCEPT THAT UNLIKE CYLC THEY DON'T USE CONNECTION
AUTHENTICATION. This code was adapted from the simple "Joke Generator"
Pyro3 example by Irmen de Jong (adapted to avoid the Pyro Nameserver,
which is not used by cylc, in particular).

Pyro listens and connects to network sockets on ports starting at 7766.

If you cannot get cylc tasks to communicate with their parent suite you
may be able to use this example to help elucidate the problem, which is
likely to do with your local network or firewall configuration (e.g.
the default Pyro ports, 7766 through 7866, may be blocked - but note 
that cylc may be configured to use a non-default port range).

________________________________________________________________________
ON THE CommsTest SERVER HOST

bob> hostname
  foo.bar.baz
bob> CommsTestServer.py
  [CommsTestServer listening on foo.bar.baz:7766]

________________________________________________________________________
ON THE CommsTest CLIENT HOST
(first try running the client on the server host, then elsewhere)

bob> hostname
  waz.bar.baz
bob> CommsTestClient.py foo.bar.baz 7766
  ***Hello bob, this is the CommsTest server on foo.bar.baz***
