2

您好我想从服务器向客户端发送一个简单的 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。谢谢 ;)

4

1 回答 1

0

将您的 bos.close() 更改为 bos.flush()。

于 2013-05-28T20:47:30.337 回答