Multi-threaded, console-based, 2-way instant messaging system with authentication, based on NNG scalability protocols.

messenger(url, auth = NULL)



a URL to connect to, specifying the transport and address as a character string e.g. 'tcp://' (see transports).


[default NULL] an R object (possessed by both parties) which serves as a pre-shared key on which to authenticate the communication. Note: the object is never sent, only a random subset of its md5 hash after serialization.


Invisible NULL.


The authentication protocol is an experimental proof of concept which is not secure, and should not be used for critical applications.


Type outgoing messages and hit return to send.

The timestamps of outgoing messages are prefixed by > and that of incoming messages by <.

:q is the command to quit.

Both parties must supply the same argument for 'auth', otherwise the party trying to connect will receive an 'authentication error' and be disconnected immediately.