IOCP常见错误

  1. WSAGetLastError为6

    http://stackoverflow.com/questions/20526235/wsarecv-sometimes-return-invalid-handle-error-no-6-for-a-socket-associated-w

    没有初始化LPOVERLAPPED结构(尤其是hEvent).

  2. WSAGetLastError为997,WSA_IO_PENDING

    如果你使用的是重叠(异步)方式打开串口的话,出现这个错误很正常。表明I/O没有完成。但不表明串口操作有错误。       如果你使用同步方式打开串口的话,那就是有错误了。 因为同步方式是阻塞的,知道I/O完成才返回

    需要设置socket为非阻塞:

  3. unsigned long value =0;   
    int  ret = ioctlsocket(Listen,FIONBIO,(unsigned   long*)&value);
  4. 在GetQueuedCompletionStatus后,还需要再次调用WSARecv来发起请求,否则无法收到连接断开的消息?



你可能感兴趣的:(IOCP常见错误)