The proxy server will accept connections from multiple clients

Now, build the client and server,the proxy server will accept connections from multiple clients and forward them using multiple connections to the server. No client or server should be able to hang the proxy server by refusing to read or write data on its connection. For instance, if one client suddenly stops reading from the socket to the proxy, other clients should not notice interruptions of service through the proxy. You will need asynchronous behavior, described in "Using TCP Through Sockets".

Additionally, if a connection hangs for more than 30 seconds, it must be terminated. The proxy server should dump to stderr a message stating that the connection has been dropped. The message should include ip address of the client or server that hang.