[問題] wifi 廣播問題
程式我主要參考
http://ppt.cc/eXN@
http://blog.xuite.net/ffc99a3b/ooxx/42960121
http://blog.xuite.net/ffc99a3b/ooxx/42960271
這2兩個網站目標能夠在手機寫出傳送訊息給客戶端裡面的方法是UDP
問題是我傳送的訊息都有傳送出去
但是問題是我的接收那一端一直收不到訊息
該給的權限我都有給過了但是不知道問題出在哪!!
程式碼也沒問題放在手機也都能執行就是接收端收不到訊息
送出端程式碼
private static final String TAG = "Discovery";
private static final int DISCOVERY_PORT = 2562;
String requestString = "SendMessageTest" ;
public void run() {
try {
DatagramSocket socket = new DatagramSocket(
DISCOVERY_PORT);
socket.setBroadcast(true);
DatagramPacket packet = new DatagramPacket(
requestString.getBytes(),
requestString.length(),
getBroadcastAddress(),
DISCOVERY_PORT);
socket.send(packet);
ShowMessage.setText("i have send message");
} catch (IOException e) {
Log.e(TAG, "Could not send discovery request", e);
ShowMessage.setText("i have not send message");
}
}
接收端程式碼
private static final String TAG = "Discovery";
private static final int DISCOVERY_PORT = 2562;
private static final int TIMEOUT_MS = 20000;
byte[] buf = new byte[1024];
public void run() {
try {
DatagramSocket socket = new DatagramSocket(DISCOVERY_PORT);
socket.setBroadcast(true);
socket.setSoTimeout(TIMEOUT_MS);
while (true) {
DatagramPacket packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);
String s = new String(packet.getData(), 0, packet.getLength());
ShowMessage.setText(s);
}
} catch (IOException e) {
Log.e(TAG, "Could not send discovery request", e);
ShowMessage.setText("Receive timed out");
}
}
傳送出去我有檢查過一下都有跑出我有傳送訊息
接收端每次都會跑出Receive timed out這個訊息
所以我現在不懂的地方是為甚麼我的接收端沒辦法接收到訊息呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.126.10.223
推
02/06 06:54, , 1F
02/06 06:54, 1F
→
02/06 15:34, , 2F
02/06 15:34, 2F
→
02/07 12:22, , 3F
02/07 12:22, 3F
→
02/07 14:49, , 4F
02/07 14:49, 4F
→
02/07 14:49, , 5F
02/07 14:49, 5F
→
02/11 01:40, , 6F
02/11 01:40, 6F