Java 如何在android中向IP发送xml并获得xml响应?
我正在尝试将xml发送到IP。我正在使用以下代码执行此操作:Java 如何在android中向IP发送xml并获得xml响应?,java,android,sockets,stream,inputstream,Java,Android,Sockets,Stream,Inputstream,我正在尝试将xml发送到IP。我正在使用以下代码执行此操作: String sMessage = "<SERVER><CONNECT><IP>192.168.10.14</IP><CLIENT_ID>123</CLIENT_ID></CONNECT></SERVER>"; Socket socket = new Socket("192.168.252.148", 34543); System.out.
String sMessage = "<SERVER><CONNECT><IP>192.168.10.14</IP><CLIENT_ID>123</CLIENT_ID></CONNECT></SERVER>";
Socket socket = new Socket("192.168.252.148", 34543);
System.out.println("socket connected---: "+socket.isConnected());
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
InputStream in = socket.getInputStream();
out.println(sMessage);
byte[] buffer = new byte[in.available()];
in.read(buffer);
String rMsg = new String(buffer);
System.out.println("rMsg: "+rMsg);
out.close();
in.close();
socket.close();
String sMessage=“192.168.10.14123”;
插座=新插座(“192.168.252.148”,34543);
System.out.println(“套接字连接---:”+socket.isConnected());
PrintWriter out=新的PrintWriter(socket.getOutputStream(),true);
InputStream in=socket.getInputStream();
out.println(sMessage);
byte[]buffer=新字节[in.available()];
in.read(缓冲区);
字符串rMsg=新字符串(缓冲区);
System.out.println(“rMsg:+rMsg”);
out.close();
in.close();
socket.close();
rMsg总是空的。套接字连接是正确的。为什么我没有得到回复。我试图将InputStream更改为BufferedInputStream,但没有帮助。有没有解决这个问题的办法,要么修改这个代码,要么有新的想法?提前谢谢 恐怕我真的不明白你想做什么。您将一个XML文件发送到一个地址,这很公平,但为什么您会自动假定目标知道如何理解和创建XML格式的回复?什么是服务器端实现
如果有这样一个实现,并且您没有接收到数据,那么在这方面肯定有问题,您可以从中发布代码吗 服务器应该向您发送什么?问题是,您向服务器发送一个XML,同时希望从服务器接收输入。但是来自服务器的响应可能需要一些时间。但我猜在这一点上,你的输入流是关闭的,或者你不再听这个了。检查的一个简单解决方案是将所有内容放在一个while循环中,这样您就可以查看您的服务器是否(稍后)应答了。。。您还可以使用wireshark收听服务器的NIC。也许你的服务器没有发送任何东西