Added more types of Client constructors, as well as added the option to
specify a port number for the listener thread to bind to.