看板 AndroidDev 關於我們 聯絡資訊
程式我主要參考 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
PCIT:試一下只用3G,收不收的到 02/06 06:54
jimmylo:我找手機試試看好了!!感謝建議 02/06 15:34
CroachX:你接收端有試過什麼裝置?系統版本? 02/07 12:22
jimmylo:我接收端用I9023的手機傳的也是 02/07 14:49
jimmylo:2.3.6版本的樣子但是我核心是開2.2下去跑 02/07 14:49
jimmylo:問題已解決!! 02/11 01:40