经过调试,以下代码解析有时会有错:
        InputStream inputStream = socket.getInputStream();
        SaxParser1 parser = new SaxParser1(inputStream);
        parser.parse();      
        
如果发送方在发送后立即将socket关闭掉,接收方就可以得到正确解析的XML数据。但如果发送后socket不立即关闭掉,则上面的解析代码会在递归中不能跳出来(了解SAX解析原理的朋友可能知道),即无法运行到endDocument()这个方法,估计是解析器无法判断inputStream什么时候结束。
希望上面的分析对大家有帮助。