您好,我想从服务器向客户端发送一个简单的 XML。
我在服务器端使用
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);OutputStream bos = userSocket.getOutputStream();
StreamResult result = new StreamResult(bos);
transformer.transform(source, result);
//here bos.close();
在客户端我使用
InputStream is = socket.getInputStream();
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder;
dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(is);
当我在转换后关闭服务器端的 bos 时,XML 已成功传输。但是当我不这样做时 Document doc = dBuilder.parse(is);
一直在等待输入,我的程序卡住了。所以我的问题是如何在不关闭套接字的情况下在客户端和服务器之间成功传输 XML。谢谢 ;)
最佳答案
将您的 bos.close() 更改为 bos.flush()。
关于java - 在 java 中通过服务器和客户端之间的套接字传输 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16801139/