Someone pointed this out to me the other day in the docs ... When your application calls BeginReceive, the system will use a separate thread to execute the specified callback method, and will block on EndReceive until the Socket reads data or throws an exception.
I would hope that the callback doesn't get fired until after the requisite bytes have been read into the receive buffer. ie Right after GetQueuedCompetionStatus has indicated this IO op has completed. So, on an OS that supports IO completion ports, there should be no blocking with EndReceive. Right? =================================== This list is hosted by DevelopMentorŪ http://www.develop.com NEW! ASP.NET courses you may be interested in: 2 Days of ASP.NET, 29 Sept 2003, in Redmond http://www.develop.com/courses/2daspdotnet Guerrilla ASP.NET, 13 Oct 2003, in Boston http://www.develop.com/courses/gaspdotnet View archives and manage your subscription(s) at http://discuss.develop.com