‘壹’ 怎样知道多个客户端与服务器端的连接是否断开
在服务器中,选择注销断开连接。或者在客户端,关闭远程桌面连接窗口,断开服务器连接。
‘贰’ vb.net socket怎么判断客户端和服务器的连接断开了 thank you!
tcp
还是
udp?
tcp
的话
try
-
catch
就行了,因为
tcp
要求的是稳定的连接,连接一断开直接就
throw
exception
了。
udp
的话,因为它本身是无连接的协议,所以其实不存在断开不断开的,准确的说应该是超时。可以客户端每隔一段时间向服务端发送个心跳包(随便什么数据都行,只是证明客户端还在线),服务端每隔一段时间检测在线的客户端列表,谁已经很久没发来心跳包了就证明它掉线了。
‘叁’ c#中如何探测网络连接是否断开
使用Socket类中的Poll方法,就可以。
Socket client //假如已经创建好了,连接到服务器端得Socket的客户端对象。
我们只要client.Poll(10,SelectMode.SelectRead)判断就行了。只要返回True是。就可以认为客户端已经断开了。
Poll 方法将会检查 Socket 的状态。指定 selectMode 参数的 SelectMode..::.SelectRead,可确定 Socket 是否为可读。指定 SelectMode..::.SelectWrite,可确定 Socket 是否为可写。使用 SelectMode..::.SelectError 检测错误条件。Poll 将在指定的时段(以 microseconds 为单位)内阻止执行。如果希望无限期的等待响应,则将 microSeconds 设置为一个负整数。如果要检查多个套接字的状态,则不妨使用 Select 方法。
‘肆’ socket编程中,服务器如何检测到客户端网络连接的断开.比如说客户端的网线断掉了,从服务端如何能检测到呢l
通过心跳包来确保客户端是否正常连接,比如定时发心跳包给客户端,然后接收回应包,如果没有收到该回应包则可以认为客户端已经断开连接,这个算是常规做法,至少在我所有SOCKET编程中都使用这种方式来维护连接状态。
‘伍’ 服务器怎么判断客户端socket是否已断开连接
你可以根据服务器收到的数据的长度来判断,如果服务器收到的数据长度是0,那么意味着你的客户端程序已经断开了连接。从TCP/IP协议栈的角度来说,就是客户端程序关闭了自己写的这一半连接,向服务器发出了一个FIN。这涉及到TCP的状态迁移,关于这方面的知识,建议你看一下Richard Stevens先生的《TCP/IP 详解》卷一和《Unix网络编程》卷一,上面有详细的解释。
关于你的第二个问题,建议你仔细看一下自己的服务器程序代码。服务器程序首先要建立一个监听socket,当有客户端连接上来时,服务器会在一个新socket上接受客户端连接。所以并不存在“乱”的问题。关于这个问题同样推荐你看上面的两本关于网络编程的经典着作。
‘陆’ java:服务器如何检测客户端已经断开
在客户端退出之后,会出现socket连接中断,此时是会抛出异常,在抛出异常时打印中断的客户端即可。
1. while(Binput.read()!= -1) 这种方法能判断出客户端输入是否为空,客户端断开能跳出死循环,但是得到的数据却从第二个开始了,所以这方法不适宜。
2. 在死循环中加入以下代码:
try {
socket.sendUrgentData(0);
} catch (IOException e) {
done= false; //如果抛出了异常,那么就是断开连接了 跳出无限循环
}
‘柒’ 有什么办法可以查看服务器是否断网
很简单啊,如果网络断开了,就表示你在外网时无法远程操作了。
如果你在内网中管理,ping下就可以,远程桌面进去看,连不上就有可能down掉了。
如果是能在服务器本机上登录,看系统日志就可以 了,一些比较好品牌的服务器都自己带硬件监测的,也可以查到。
还是推荐查看windows系统日志
‘捌’ 如何在WebSocket的服务器侧检测客户端的断开连接
通过心跳包,以确保客户端正确连接,比如经常发心跳包到客户端,然后接收响应数据包,如果没有接收到响应数据包可以被认为是一个客户端已经断开,这是标准的做法,至少在我所有的SOCKET编程都采用这种方式来保持连接状态。
‘玖’ 客户端怎么判断Socket连接已与服务器断开
你可以根据服务器收到的数据的长度来判断,如果服务器收到的数据长度是0,那么意味着你的客户端程序已经断开了连接。从tcp/ip协议栈的角度来说,就是客户端程序关闭了自己写的这一半连接,向服务器发出了一个fin。这涉及到tcp的状态迁移,关于这方面的知识,建议你看一下richard
stevens先生的《tcp/ip
详解》卷一和《unix网络编程》卷一,上面有详细的解释。
关于你的第二个问题,建议你仔细看一下自己的服务器程序代码。服务器程序首先要建立一个监听socket,当有客户端连接上来时,服务器会在一个新socket上接受客户端连接。所以并不存在“乱”的问题。关于这个问题同样推荐你看上面的两本关于网络编程的经典着作。