我有一个自定义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"
导致服务器和客户端套接字断开连接(通过读取检测到服务器套接字断开连接)
如何处理这种情况?
答案 0 :(得分:4)
套接字正在关闭,因为这是响应的结束。服务器没有更多内容可以发送。
你如何处理它取决于你想要的结果。响应表明远端客户端包含一个“if-modified-since”头字段,因此您应该能够直接将此响应直接传递回该客户端并完成它。
答案 1 :(得分:0)
这里“处理”没有问题。服务器说关闭连接,并自行关闭。在将响应发送回客户端之后关闭它,并关闭与客户端的连接。这不是你作为代理服务器的工作,而不是你能做到的。