I need urgent help ................

I have developed one small client application to receive video streaming from multiple CCTV cameras. I want to handle cameras using I/O completion model.

1) I have created completion port, Worker thread and added socket to this completion port

2) I called WSARecv with overlapped parameter to receive video stream data from camera. WSARecv returned 0 as return value. Which indicates overlapped operation completes immediately. I processed the data.

3) Now worker thread is waiting on GetQueuedCompletionStatus in a while loop. It came out from waiting and I read the data successfully because there is a data in socket.

4) After the above operation I called again WSARecv in worker thread which is in loop to receive data. Now WSAREcv returned error WSA_IO_PENDING. This is fine because it indicates that it will complete later.

Problem is after above step 4 GetQueuedCompletionStatus never returns even though there is a huge streaming data coming from Camera.

Please Please do needful