The examples and output don't seem to be synchronized (for example in the pub/sub example). But more interesting, how can the client reach servers on a different network/ip? since that is the more common case for distributed servers...
on other server
messenger.createListener(2222, 2000)
You'll of course have to update your IP Tables.