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上测试过,都有相同的问题。
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上测试过,都有相同的问题。
如果按一下按钮
TCP 连接,发送buf,断开的话实时性不是很好.
如果长连接,编写也是个麻烦事。