如何让服务端不再接受新连接? 也就是服务端如何限制最大客户端连接数?
在服务端收到FD_ACCEPT消息后:
case FD_ACCEPT:
{
我不调用 accept
}
服务端没有再接收连接,这是对的。
但是,客户端成功接收到 FD_CONNECT 消息(并且此时 WSAGetLastError()==0)
也就是说客户端认为连接成功,怎么回事?难道我要服务端先accept,再closesocket,这岂不是多此一举?你们是如何解决这个问题的。
在服务端收到FD_ACCEPT消息后:
case FD_ACCEPT:
{
我不调用 accept
}
服务端没有再接收连接,这是对的。
但是,客户端成功接收到 FD_CONNECT 消息(并且此时 WSAGetLastError()==0)
也就是说客户端认为连接成功,怎么回事?难道我要服务端先accept,再closesocket,这岂不是多此一举?你们是如何解决这个问题的。
再accept
适当时候 closesocket
SOCKET s,
int backlog
);backlog
[in] Maximum length of the queue of pending connections. If set to SOMAXCONN, the underlying service provider responsible for socket s will set the backlog to a maximum reasonable value. There is no standard provision to obtain the actual backlog value.