[問題] wifi 廣播問題

看板AndroidDev作者 (迷路的小孩)時間12年前 (2012/02/06 05:32), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
程式我主要參考 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
試一下只用3G,收不收的到
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
我接收端用I9023的手機傳的也是
02/07 14:49, 4F

02/07 14:49, , 5F
2.3.6版本的樣子但是我核心是開2.2下去跑
02/07 14:49, 5F

02/11 01:40, , 6F
問題已解決!!
02/11 01:40, 6F
文章代碼(AID): #1FBlLcUH (AndroidDev)