Allow public access to set host and port so that the object doesn't have to be completely recreated when reconnecting to new address
create a catch all event for the socket closing