我想让代理服务器的客户端保持活动状态。因此,我不希望代理客户端每次都进行 tcp 关闭握手。
向此示例添加 keepAlive 选项似乎无法正常工作。因为它在每次服务器收到请求时都会创建一个客户端并进行连接,并在响应到达时关闭客户端。
那我怎样才能让我的代理客户端保持活动状态?是否有任何参考/示例?
答案 0 :(得分:0)
使用 SO_KEEPALIVE 套接字选项并不意味着服务器(或连接中的其他对等方)应该忽略关闭连接的显式请求。它有助于像
这样的情况如果客户端的逻辑不是为不同的请求重用相同的套接字(即,如果它的应用程序逻辑为每个请求使用一个新的套接字),那么您在代理上无能为力。
同样的论点也适用于代理的“后端”端。如果您要代理的服务器不允许重新使用套接字,并且在提供请求后显式关闭连接,那也不会如您所愿。