A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李厚斌 中级黑马   /  2014-4-3 03:05  /  775 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李厚斌 于 2014-4-6 16:03 编辑
  1. class UdpReceive implements Runnable{
  2.         private DatagramSocket ds;
  3.         UdpReceive(DatagramSocket ds){
  4.                 this.ds=ds;
  5.         }
  6.         @Override
  7.         public void run() {
  8.                 // TODO Auto-generated method stub
  9.                 byte[] buf=new byte[1024];
  10.                 DatagramPacket dp=new DatagramPacket(buf,buf.length);
  11.                 while(true){
  12.                         try {
  13.                                 ds.receive(dp);
  14.                                 String ip=dp.getAddress().getHostAddress();
  15.                                 //String data=new String(dp.getData(),0,dp.getLength());//这个地方。如果我写成这样的话
  16.                                 byte[] b=dp.getData();
  17.                                 String data=new String(b,0,b.length);
  18.                                 System.out.println(data+"ffe");
  19.                                 System.out.println(data+":"+dp.getAddress().getHostAddress());
  20.                         } catch (IOException e) {
  21.                                 // TODO Auto-generated catch block
  22.                                 e.printStackTrace();
  23.                         }
  24.                         
  25.                 }
  26.         }
  27.         
  28. }
复制代码
代码是udp服务端接受信息的。。全程是模拟两个线程一个线程接受一个线程发送。。

见鬼了。。。琢磨半天
//String data=new String(dp.getData(),0,dp.getLength());
这个地方。如果我写成这样的话
System.out.println(data+"ffe");
System.out.println(data+":"+dp.getAddress().getHostAddress());
后面的这两句话能正常打印。。。


可是如果我这么写
byte[] b=dp.getData();
String data=new String(b,0,b.length);
就不能。只能打印data。。后面的全部打印不到了。。能完全读到data数据

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

1 个回复

倒序浏览
String data=new String(dp.getData(),0,dp.getLength());
这句是标准写法,完全没问题
应该是你其他地方的问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马