2013-04-22 47 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