我的客户端运行在Tomcat服务器上,我无权访问客户端代码。所以我必须构建这个服务器来处理来自客户端的请求。为此,我正在读一个端口上的字节流如下:Tomcat可能发送GET请求,我无法处理
ServerSocket ss = new ServerSocket(8999);
Socket s = ss.accept();
InputStreamReader in = new InputStreamReader(s.getInputStream());
cbuf = new char[buf_length];
int char_read = in.read(cbuf,0,10000);
inputLine = new String(cbuf);
我应该从客户端获取SOAP POST请求,这些我能应付,但这些客户端请求之间,我得到一个GET请求看起来如下:
GET/HTTP/1.1
User-Agent: Java/1.6.0_21
Host: localhost:8999
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
因此,用户代理是不是客户端(它可能是Tomcat)的,它接受一切。所以我的服务器代码无法处理这个问题。所以我尝试关闭套接字,重新打开并尝试读取,但它再次读取相同的GET请求。
我是否需要为此请求发送特定响应以继续我的程序,以便客户端能够向我发送下一个请求?
感谢
为什么不使用现有的Web服务器作为解决方案的基础?它们存在许多形状和形式。现在,你正在浪费时间和精力而不是基本的东西,沿途会出现更多这样的陷阱。顺便说一句,他想要的默认文件,所以它可能只是某种活着测试。返回一个空文件,你应该可以继续。 – fvu
Tomcat收到请求,但不会生成请求。这不是Tomcat本身提出的请求。 –