在java中通过服务器和客户端之间的套接字传输XML

时间:2013-05-28 20:42:38

标签: java xml sockets

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

1 个答案:

答案 0 :(得分:0)

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