Working versions of both the SocketServer and the SocketClient