TCP连接client端异常关闭,Server端怎么处理
2018-02-02 本文已影响0人
柚子过来
TCP建立连接后,client端主动发出关闭连接请求,那Server端接收到后也会自行关闭server端的连接,但是如果client端由于异常情况断开了连接呢?server如何感知到并关闭server端的连接?
Server端是无法感知的,Server端的连接会一直存在,不过TCP好像可以设置默认的心跳包。自己实现socket连接时可以自己定义像Server端发送心跳消息告诉Server自己还在。
一个与该问题相关的攻击方法:client端无限制的建立连接并非正常关闭,导致Server端有太多的半开放的连接不能即使关闭,造成Server崩溃。