簡體   English   中英

如何將xml發送到IP並在android中獲取xml響應?

[英]How to send xml to an IP and get xml response in android?

我正在嘗試將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();

rMsg始終為空。 套接字連接正確。 為什么我沒有得到回復。 我試圖將InputStream更改為BufferedInputStream,但沒有幫助。 是否有通過修復此代碼或有新想法解決此問題的想法? 提前致謝。

恐怕我不太了解您要做什么。 您將XML文件發送到一個地址,這很公平,但是為什么您會自動假設目的地知道如何理解和創建XML格式的回復? 什么是服務器端實現?

如果有這樣的實現,並且您沒有接收數據,那么那端肯定有問題,您可以從中發布代碼嗎?

服務器應該把您寄回什么? 事實是,您將XML發送到服務器,並希望同時從服務器接收輸入。 但是來自服務器的響應可能需要一些時間。 但是我想此時您的輸入流已關閉,或者您將不再收聽它。 一種簡單的檢查方法是將所有內容放入while循環中,以便您可以看到服務器是否回答了(稍后)...您還可以使用Wireshark監聽服務器的NIC。 也許您的服務器什么都不發送?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM