我在server端(端口8888)接收UDP包
当一个client端(端口2222)发送UDP包server收到,数据正确没有问题。
但是另一个client端(端口3333)向server端(端口8888,与原来的一样)发送的UDP包,server收到后与发送的数据不一致,这是为什么啊? class Server {
DatagramSocket ds = new DatagramSocket(8888);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
while(ds!=null) {
ds.receive(dp);
dp.getData();
//显示数据;
}
} class Client1 {
DatagramSocket ds = new DatagramSocket(2222);
byte[] b = new byte[1024];
DatagramPacket dp = new DatagramPacket(b, b.length, new InetSocketAddress("127.0.0.1",8888));
ds.send(dp);
} class Client2 {
DatagramSocket ds = new DatagramSocket(3333);
byte[] b = new byte[1024];
DatagramPacket dp = new DatagramPacket(b, b.length, new InetSocketAddress("127.0.0.1",8888));
ds.send(dp);
} 第一次server接受到client1的数据是正确滴
但第二次server接受到client2的数据包不对
请给解释下?谢谢大
当一个client端(端口2222)发送UDP包server收到,数据正确没有问题。
但是另一个client端(端口3333)向server端(端口8888,与原来的一样)发送的UDP包,server收到后与发送的数据不一致,这是为什么啊? class Server {
DatagramSocket ds = new DatagramSocket(8888);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
while(ds!=null) {
ds.receive(dp);
dp.getData();
//显示数据;
}
} class Client1 {
DatagramSocket ds = new DatagramSocket(2222);
byte[] b = new byte[1024];
DatagramPacket dp = new DatagramPacket(b, b.length, new InetSocketAddress("127.0.0.1",8888));
ds.send(dp);
} class Client2 {
DatagramSocket ds = new DatagramSocket(3333);
byte[] b = new byte[1024];
DatagramPacket dp = new DatagramPacket(b, b.length, new InetSocketAddress("127.0.0.1",8888));
ds.send(dp);
} 第一次server接受到client1的数据是正确滴
但第二次server接受到client2的数据包不对
请给解释下?谢谢大
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货