引发RES状态的原因(面经没见考,但是我觉得还是挺重要的,就先整理在这里,以后有需要就来看一眼)

 

情况一:服务没开启成功

比如说服务器要打开80端口,由于某种原因,我们并没有打开这个服务。应用程序默认寻找80端口,但是找不到对应的服务,此时底层会给服务发送一个RST

 

情况二:请求超时(程序bug引起)

请求超时时。当连接的处理时间超过了设定的时间,客户端或者服务端会给对方发送一个RST,表示不要连接了。着可能使我们的程序设置上有一些bug导致的。

 

情况三:应用程序bug

应用程序有bug。处理了一部分消息之后,程序误以为客户端出现问题,然后主动停掉了对于客户端的服务。此时处理了一半的消息就断了

 

情况四:对端重启了

客户端有一段时间没有向服务器发送消息,此段时间内服务器重启了一下,此时客户端并不知情。此时客户端再次发送消息给服务器,服务器接受不了客户端发来的消息。此时,服务器会给客户端发送RST ,让链接重置。

猜你喜欢

转载自blog.csdn.net/qq_29996285/article/details/84707191