2012-06-22 30 views
0

我的服务器代码如下:Socket编程的PrintWriter不会产生输出

writer = new PrintWriter(s.getOutputStream()); 
writer.flush(); 
writer.print("HTTP/1.1 200 OK\r\n");       
writer.print("Content-Length: " + len + "\r\n"); 
writer.print("Content-Type: "+"application/soap+xml;charset=utf-8"+"\r\n\r\n"); 
writer.print(response); 
writer.close(); 

变量的反应是SOAP + XML。我添加了发送它所需的HTTP头,在某些情况下它可以工作,但是在大多数情况下,我的客户端(SOAPUI)只是等待没有生成的响应。当我关闭客户端时,在服务器端看不到任何错误。

任何帮助表示赞赏。谢谢。

回答

2

Socket.getOutputStream()

“......关闭返回的OutputStream将关闭相关插座......”。

关闭PrintWriter将关闭OutputStream,它将关闭套接字。只需刷新PrintWriter,不要关闭它。