[英]Can't receive UDP response after UDP sending on Android device
我有一個盒子,在收到UDP數據包后發送UDP響應。 我終於找到了如何實現UDP服務器的示例 。 它可以接收UDP數據包。
我的應用程序中有一個按鈕。 如果我點擊它,我將UDP數據包發送到該框,但是我沒有得到共鳴。 我看到盒子從我的Android設備接收了這個數據包並發送了響應。 我的UDP客戶端如下:
public class AsyncSendUdp extends AsyncTask<String, Void, Boolean> {
InetAddress inet_addr;
DatagramSocket socket;
@Override
protected Boolean doInBackground(String... arg0) {
byte[] ip_bytes = new byte[]{(byte) 192, (byte) 168, (byte) 0, (byte) 11};
try {
inet_addr = InetAddress.getByAddress(ip_bytes);
} catch (UnknownHostException e) {
e.printStackTrace();
}
char[] bufc = {1, 2, 3, 4};
byte[] buffer = new byte[4];
for (int i = 0; i < 4; i++) {
buffer[i] = (byte) bufc[i];
}
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, inet_addr, 0xbac0);
try {
socket = new DatagramSocket();
socket.send(packet);
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
}
我發送如下:
new AsyncSendUdp().execute("mmm");
我不明白問題出在哪里。 任何想法請!
您實際上從未閱讀過傳入消息。 您將需要類似:
byte[] inBuffer = new byte[N];
DatagramPacket inPacket = new DatagramPacket(inBuffer, inBuffer.length);
while (!exitCondition) {
socket.receive(inPacket);
// do something with your received packet
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.