I just recently join this forum so that is why such late reply. I read a few books, papers etc. about network IO and bottom line is: IOCP is the best. Yes it is little complicated in the beginning but if you reuse your code this should not be a problem. For further reading I suggest Microsoft Windows Network Programming 2nd Edition, Chapter 6: Scalable Winsock Applications where You can find various network IO models compared.