我在java(Socket)中编写了一个简单的tcp服务器,并通过telnet连接到它。一切正常。我只是想澄清关于tcp协议的一件事。如果我以不正确的方式停止我的服务器(只是在执行期间在IntelligIdea中停止),我在客户端提示中看到一条消息:连接丢失。所以,问题是:服务器在崩溃之前是否向客户端发送任何信息?或者telnet和服务器一直发送一些我不认识的信息,以确保连接存在,即使我不发送任何东西?或者它与tcp协议有关?简而言之:客户端如何知道服务器崩溃了? 我是新手,所以我决定在这里清理它。提前谢谢!
答案 0 :(得分:0)
连接通过TCP运行。 TCP协议指定连接如何关闭。
所有这些都发生在操作系统级别,低于JVM或客户端程序,而不是通知telnet客户端套接字正在关闭,是不可见的。您可以在很多很多地方找到有关TCP协议的更多详细信息。