当前位置: 首页 > 知识库问答 >
问题:

HTTP/1.1服务器知道客户端是否已经不存在了吗?

东郭昌胤
2023-03-14

客户端连接到服务器,并使用keep-alive头发送请求。服务器响应还包含keep-aliveheader。

现在客户断电了。TCP或HTTP堆栈中是否有任何机制(如ping)告诉服务器客户端不在那里(除了超时)?

共有1个答案

宋嘉懿
2023-03-14

现在客户断电了。TCP或HTTP堆栈中是否有任何机制(如ping)告诉服务器客户端不在那里(除了超时)?

TCP keep alive是专门为检测丢失的连接而设计的。

 类似资料:
  • 问题内容: 目前,我正在研究基于Java RMI构建的聊天服务器- 客户端程序。为了使客户端能够检测到其连接的服务器已失效,我只能想到两种可能的解决方案,但是在我的情况下,它们都无法很好地工作。 1.等到客户端需要调用服务器的某些方法后,这种方法无法正常工作,因为如果聊天客户端不调用服务器的任何方法,它将不会知道服务器已死,因此聊天客户端无法接收那时再没有任何新的聊天消息。 2.通过每隔几秒钟调用

  • 基本上,我想写这样的代码: 这是不可能的,因为没有重载 因此,我目前正在使用,但它并不完美。 有没有一种方法可以不重新声明函数就知道函数是否存在? 基本上,我想做一些类似的事情 和主要的:

  • HTTP/2绝对是未来的趋势,因为它现在是HTTP协议的标准。正如我们在Can I use中看到的,70.15%的浏览器支持HTTP/2。但是HTTP/2是如此之新,以至于有浏览器只支持HTTP/1. x,也有很多服务器只支持HTTP/1. x。我知道客户端可以使用HTTP升级机制来协商一个合适的协议来与服务器通信。例如,如果服务器支持HTTP/2,他们的通信协议将切换到HTTP/2,否则,使用H

  • 创建 HTTP 客户端 使用默认选项创建一个HttpClient实例,如下所示: HttpClient client = vertx.createHttpClient(); 如果您想要在创建时配置客户端的选项,如下所示: HttpClientOptions options = new HttpClientOptions().setKeepAlive(false); HttpClient clien

  • 问题内容: 我不确定是否已经使用cmd:docker login在cmd行中登录了Docker注册表。如何在不尝试推送的情况下测试或查看是否已登录? 问题答案: 编辑2020 再次提到( 已关闭的 )github问题,指出那里没有实际的会话或状态。 docker login实际上并没有创建任何持久性会话,它只是将用户的凭据存储在磁盘上,以便在需要身份验证时可以读取它们以登录 正如其他人指出的那样,

  • 创建一个 HTTP 服务器 最简单的方法来创建一个 HTTP 服务器,所有选项使用默认的。如下所示: HttpServer server = vertx.createHttpServer(); 配置 HTTP 服务器 如果你不想使用默认值,创建服务器时可以通过传入一个HttpServerOptions实例配置: HttpServerOptions options = new HttpServerO