2013-04-22 91 views
0

我的應用程序包含一個從wifi接口接收數據的客戶端線程(UDP和TCP)。我已經在一些設備上測試過應用程序(三星,索尼和HTC)。它適用於TCP模式下的所有設備,但在UDP模式下,它只適用於索尼和三星設備,不適用於HTC。Android:HTC設備上的UDP客戶端

這裏是我的UDP代碼:

   socketUDP = new DatagramSocket(SERVERPORT); 
       byte[] buf = new byte[50]; 
       socketUDP.setSoTimeout(timeOut); 

       DatagramPacket packet = new DatagramPacket(buf, buf.length); 

       while (UDPRunning) { 

        socketUDP.receive(packet); 

        String str = new String(packet.getData(), 0, 
          packet.getLength()); 
        packet.setLength(buf.length); 

        Message msg = handler.obtainMessage(); 
        Bundle b = new Bundle(); 
        b.putString("getStr", str); 
        msg.setData(b); 

        handler.sendMessage(msg); 
       } 

HTC設備測試:HTC感覺(安卓4.0.3),HTC渴望(Android 2.2的),的HTC One SV(4.0.4)

我問題: 爲了使用這個UDP客戶端,是否有任何特定的自動設置用於HTC設備?

+0

你試過用不同的端口嗎?也許它正在使用? – damian 2013-04-22 13:59:42

+0

是的,我已經在每個設備上進行了相同的測試。該端口沒有被使用 – JSHeb 2013-04-22 14:21:28

+0

我有同樣的確切問題!我希望我們找到一些方法。 如果你想出點什麼,請讓我知道。 – 2013-04-26 11:34:23

回答

0

我和我的設備有同樣的問題,這也是HTC的感覺。它不能通過pc上的另一端(客戶端)訪問。 可能的鏈接將幫助你整理出來。我從未嘗試過這種解決方案,因爲我更換了手機。

http://www.flattermann.net/2010/09/fix-udp-broadcasts-on-htc-phones-running-stock-firmware/

+0

請注意,[只有鏈接的答案](http://meta.stackoverflow.com/tags/link-only-answers/info)不鼓勵,所以答案應該是搜索解決方案的終點(vs.而另一個引用的中途停留時間往往會隨着時間推移而過時)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra 2013-12-13 00:59:24

+0

我認爲你是對的。但問題是,我只有以這種鏈接的形式得到答案......如果這能幫助他們解決問題,那麼這就是答案。你不喜歡他的答案好吧繼續前進並刪除它:) :) – Jkiller 2013-12-13 01:08:07

+0

是的,請仔細閱讀這個問題..然後看看我的答案,如果你喜歡然後問自己。並聆聽阿姆的生存... – Jkiller 2013-12-13 01:10:06