首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android udp真是垃圾啊还是小弟我写得垃圾

2012-05-16 
android udp真是垃圾啊还是我写得垃圾。wince apple在局域网中国发送udp丢包率几乎为0。性能相当出色。而在an

android udp真是垃圾啊还是我写得垃圾。
wince apple在局域网中国发送udp丢包率几乎为0。性能相当出色。而在android上丢包率在10%左右。真是头痛。代码如下:

public UdpClientSocket() {

this.host = "255.255.255.255";//改成目标IP,而不用广播效果也不明显。

try {
ds = new DatagramSocket();


} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// this.host=host;
}



public void send( byte[] bytes) {

DatagramPacket dp;
try {ds.setSendBufferSize(1);//这个加与不加效果不明显。
dp = new DatagramPacket(bytes, bytes.length,
InetAddress.getByName(this.host), 1024);
ds.send(dp);

} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}



}
是哪里做的不好,它要丢这么多包,我已在多个android上测试过,都有相同的问题。

[解决办法]
UDP本身就不保证传输数据的完整性,就一次握手。楼主可以试试三次握手的TCP。
[解决办法]
UDP确实不是很可靠,他是不保证通信的成功性的,就是传输速度比TCP快一些。你为什么不用TCP呢。

热点排行