0

我有一个自定义 TCP 服务器在端口 5888(虚拟端口)上侦听。代理服务器侦听传入连接。当代理接收到某些页面的 HTTP 请求时,它应该将其中继到主服务器的 80 端口。对于其他页面请求,代理需要将数据发送到主服务器的 8081 端口。

客户端从代理请求 .js 文件。代理在端口 80 上向主服务器发送相同的请求。主服务器将此消息与 Connection: Close 一起发回。

HTTP/1.1 304 Not Modified
Date: Wed, 10 Oct 2012 10:45:49 GMT
Server: Apache/2.2.3 (Red Hat)
Connection: close
ETag: "748047-11f4f-4b8dc565b9100"

导致服务器和客户端套接字断开连接(Detected Server Socket disconnect via read)

如何处理这种情况?

4

2 回答 2

4

套接字正在关闭,因为那是响应的结束。服务器无需发送任何其他内容。

你如何处理它取决于你想要什么结果。响应表明远端客户端包含一个“if-modified-since”标头字段,因此您应该能够简单地将此响应直接传递回该客户端并完成处理。

于 2012-10-10T12:52:38.900 回答
0

这里“处理”没有问题。服务器说要关闭连接,然后自己关闭了它。因此,在您将该响应发送回客户端后关闭它,并关闭与客户端的连接。这不是你作为代理服务器的工作来摆弄这个,而不是你可以。

于 2012-10-11T05:38:18.297 回答