This isn't a simple example and the use of threads together with CAsyncSocket is unjustified and inefficient. Joseph M. Newcomer is a deeply respect member in developer circles, however I would say that the link you found was never intended as a MFC networking tutorial. Mixing asynchronous sockets and threads make little sense, here is an overview of basic server concepts: a) blocking servers (handling only one request at a time, then wait again blocking) b) threaded servers (handling simultaneous requests, one thread for every new socket, maybe from a pool). c) asynchronous server (handling simultaneous requests, one thread context will handle all sockets) d) variants such as IO completition ports Instead of trying to convert one example code you had into a different thing, it would be easier if you learn about different networking concepts and start with simple examples. There are so many choices and CAsyncSocket might not be the best alternative in the long term (there are known problems). Perhaps have a look at some of the links I gave you. :) /M
Webchat in Europe :java: (only 4K)