Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中向IP发送xml并获得xml响应?_Java_Android_Sockets_Stream_Inputstream - Fatal编程技术网

Java 如何在android中向IP发送xml并获得xml响应?

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.

我正在尝试将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.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。也许你的服务器没有发送任何东西