Midas客户端异常断开,服务器端侦测不到
2016-11-27 by:CAE仿真在线 来源:互联网
从根源上说,这是由于TCP协议的问题。TCP协议的初衷是: 网络中断时,仍能维持通信的能力。美国国防部要求能在遭到核打击或其它灾害的时候,仍然能维持计算机之间可靠的网络通知协议。呵呵,如果客户端断开,服务器就马上释放连接。还维持什么?和初衷不符吧。要搞清楚客户端断开,为什么服务器端不能立即侦测到。这个问题,必须要理解三次握手机制。当然服务器也能侦测到异常断开,KEEPALIVE的默认时间是2小时哟。详细的TCP三次握手机制:
客户端发送一个带SYN位的请求,向服务器表示需要连接,假设请求序号号为 SYN = 10, ACK=0
服务器接收到这样的请求后,查看是否在LISTEN的是指定的端口,不然,就发送RST=1应答,拒绝建立连接。 如果接收连接,那么服务器发送确认,SYN为服务器的一个内码,假设为100,ACK位则是客户端的请求序号加1,本例中发送的数据是:SYN=100,ACK=11,用这样的数据发送给客户端。
客户端发送确认建立连接的消息给服务器。确认信息的SYN位是服务器发送的ACK位,ACK位是服务器发送的SYN位加1 。
如果TCP连接第三次握手中,用户向服务器发送了一个SYN后就掉线了(第一步)。服务器发出SYN+ACK应答报文(第二步)。然后就再也无法收到客户端的ACK报文的。这种情况下,服务器就不断的重试,(再次发送SYN+ACK给客户端),直到超时。注意:服务器是接收到SYN请求就立即与客户端建立连接,而是先为连接请求分配内存空间,建立会话,并放到一个等待队列中。如果,这个等待的队列已经满了,那么,服务器就不在为新的连接分配任何东西,直接丢弃新的请求。这就是服务器的拒绝服务了。
开放分享:优质有限元技术文章,助你自学成才
相关标签搜索:Midas客户端异常断开,服务器端侦测不到 Midas Civil分析 Midas Civil培训 Midas Civil培训课程 Midas Civil在线视频教程 Midas Civil技术学习教程 Midas Civil软件教程 Midas Civil资料下载 Midas Civil代做 Midas Civil基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训
编辑