服务器端监听客户端,用非阻塞模式,当accept一个连接后,就开一个线程,这个线程只是用于接收客户端发过来的数据!
但我这里的问题是,客户端在一个connect操作后,并没有send任何数据给服务器,而服务器用于接收客户端的数据的线程却可以接受到有数据,而且可以不停的接收,就算客户端关了也会收到有数据。
但这个recv返回的是SOCKET_ERROR,请教高手,为什么会出现这种情况?
但我这里的问题是,客户端在一个connect操作后,并没有send任何数据给服务器,而服务器用于接收客户端的数据的线程却可以接受到有数据,而且可以不停的接收,就算客户端关了也会收到有数据。
但这个recv返回的是SOCKET_ERROR,请教高手,为什么会出现这种情况?
newSocket=accept(m_sockListen,(struct sockaddr *)&from,&len);
这个accept操作中m_sockListen是被设置成非阻塞的,而newSocket我并没有把它设置成阻塞或是非阻塞模式。我想也是这里出点问题。帮我看年看
也就是说accept返回的套接节和accept的第一个参数里的套接字具用同样的属性,那我怎么把一个套接字设置成阻塞模式??