java - 套接字编程PrintWriter不产生输出

标签 java sockets

我的服务器代码如下:

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 header ,它在某些情况下有效,但在大多数情况下,我的客户端(SOAPUI)只是等待未生成的响应。当我关闭客户端时,我在服务器端没有看到任何错误。

感谢任何帮助。谢谢。

最佳答案

来自Socket.getOutputStream() :

“...关闭返回的 OutputStream 将关闭关联的套接字...”。

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

关于java - 套接字编程PrintWriter不产生输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11148661/

相关文章:

java - 从 JAR 文件外部加载资源文件

php - 在 PHP 问题中通过套接字写入然后读回

c - 将套接字绑定(bind)到网络接口(interface)

javascript - 套接字远程端口代表什么?

java - Google App Engine - 如何处理数据存储区超时异常?

java - 将 ObservableList 从一个类传递到另一个类

c++ - 如何删除聊天中的多余字符? C++

python - 如何更改 TLS 上下文选项

java - 要求用户在安装时设置参数并将其保存为 Java 应用程序

java - Java HttpUrlConnection 获取内容长度的限制