this is a exercise that implements a nio socket server.