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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 未名以律 于 2014-8-4 20:44 编辑
  1. import java.net.*;
  2. class  UdpSend
  3. {
  4.         public static void main(String[] args) throws Exception
  5.         {
  6.                 DatagramSocket ds = new DatagramSocket(888);

  7.                 byte[] buf = "udp ge men lai la ".getBytes();

  8.                 DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.119"),10000);
  9.                 ds.send(dp);

  10.                 ds.close();
  11.         }
  12. }


  13. class  UdpRece
  14. {
  15.         public static void main(String[] args) throws Exception
  16.         {
  17.                 DatagramSocket ds = new DatagramSocket(10000);
  18.                 while(true)
  19.                 {
  20.                 byte[] buf = new byte[1024];
  21.                 DatagramPacket dp = new DatagramPacket(buf,buf.length);

  22.                 ds.receive(dp);

  23.                 String ip = dp.getAddress().getHostAddress();
  24.                 String data = new String(dp.getData(),dp.getLength());
  25.                 int port = dp.getPort();
  26.                 System.out.println(ip+"::"+data+"::"+port);
  27.                 }

  28.                 //ds.close();
  29.         }
  30. }
复制代码



这个已过时是怎么回事?找api找了很久也没找出来


全是乱码啊。。。。试了N多次了,没整明白



评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 淡定

查看全部评分

3 个回复

倒序浏览
你少写了个零。
回复 使用道具 举报
   String data = new String(dp.getData(),dp.getLength());   这里少了个0,
应该是 String data = new String(dp.getData(),0,dp.getLength());
回复 使用道具 举报
dispensable 发表于 2014-8-4 19:36
String data = new String(dp.getData(),dp.getLength());   这里少了个0,
应该是 String data = new S ...

呵呵,看来我太粗心了,谢谢,问题解决了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马