服务器端是这样
listen(listensock ,5);
acceptsock = accept(listensock,.....);
if(acceptsock!=INVALID_SOCKET)
MessageBox("接收到一个连接");
没有循环accepet,也就是只能accept一个客户端。但这样的话我第一个客户端connect成功后,再开第二个客户端connect不会返回SOCKET_ERROR,应该是connect成功了,只是服务器这边accept没有被调用如果把上面加一行,改成这样
listen(listensock ,5);
acceptsock = accept(listensock,.....);
if(acceptsock!=INVALID_SOCKET)
MessageBox("接收到一个连接");
closesocket(listensock); //也就是把监听用的socket关闭了
这样的话第二个客户端再去connect才会返回SOCKET_ERROR我想问的是就第一种情况而言,或者是在不管服务器端是怎么样的情况下。在客户端有没有办法判断是否"真正连接"上了服务器。
listen(listensock ,5);
acceptsock = accept(listensock,.....);
if(acceptsock!=INVALID_SOCKET)
MessageBox("接收到一个连接");
没有循环accepet,也就是只能accept一个客户端。但这样的话我第一个客户端connect成功后,再开第二个客户端connect不会返回SOCKET_ERROR,应该是connect成功了,只是服务器这边accept没有被调用如果把上面加一行,改成这样
listen(listensock ,5);
acceptsock = accept(listensock,.....);
if(acceptsock!=INVALID_SOCKET)
MessageBox("接收到一个连接");
closesocket(listensock); //也就是把监听用的socket关闭了
这样的话第二个客户端再去connect才会返回SOCKET_ERROR我想问的是就第一种情况而言,或者是在不管服务器端是怎么样的情况下。在客户端有没有办法判断是否"真正连接"上了服务器。
--------------------------------------------------------------------------
你的服务器没有accept,你怎么保证你的客户端connect是成功了???