ioctlsocket(m_socket, FIONBIO, &iMode); 1,非阻塞模式下,需要CreateEvent,如果为阻塞模式,则不用Create,要将倒数第二个参数lpOverlapped设为NULL,否则会出现WSA_IO_PENDING(997)错误。 2,无论是阻塞模式,还是非阻塞模式,需要将Flags设为0,否则会出现WSAEOPNOTSUPP (10045)错误。由于Flags是in_out类型,所以每次...
但是,这里有一个容易漏掉的地方,就是第5个参数Flags的指针,在传递进去之前,一定要初始化Flags的值为0。我到最后看到CSDN上一篇帖子上的代码,我的和那个几乎一样,但那个能正常收到数据,我的却总是10045错误,一条一条地查对比较代码,发现唯一有影响的地方,就是那个多了一条Flags=0,而我的没有,马上翻到MSDN上...