In addition to the ACE C++ socket wrappers, the components that you must use for this assignment are the ACE ACE_Reactor and ACE_Acceptor.
There are a number of ways to implement the open hook function. One way is to turn the newly connected service handler into an Active Object (using the activate method inherited from ACE_Task), when then carries out the client request in the service handler's svc hook, which you must write. Another way is to use reactive I/O via the ACE_Reactor. I want you to use the hybrid scheme that we discussed in class, whereby there's a Reactor on the bottom and an Active Object containing a thread pool on the top. See the class notes for more details on this.
GET /index.html HTTP/1.0\n\n
Make sure that your HTTP_Handler is intelligent about not
getting hung indefinitely on blocking send and recv
calls. I recommend using the ACE_SOCK_Stream timed I/O
calls.