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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java陈辉 中级黑马   /  2013-12-10 14:38  /  847 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面这段代码哪里写错了?为什么编译的时候会报错?将SendDemo类中的端口号换成9000,则又编译通过,这是端口冲突吗?求解释。

public class SendDemo {
  public static void main(String[] args) throws SocketException, Exception {
  //1.建立udp的socket服务。并指定端口
  DatagramSocket ds=new DatagramSocket(10000);
  //2.确定要发送的数据。
  String str="hi,udp,哥们我来了";
  byte[] buf=str.getBytes();
  //3.创建数据包服务对象。
  DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.100"),10000);
  //4.发送数据。
   ds.send(dp);
   //5.关闭资源。
   ds.close();
}
}

public class ReceDemo {
        public static void main(String[] args) throws IOException {
       //1.建立udp的socket服务。并指定端口。
       DatagramSocket ds=new DatagramSocket(10000);
       //2..创建数据包服务对象。
         byte[] buf=new byte[1024];
       DatagramPacket dp=new DatagramPacket(buf,buf.length);
    //3.使用socket对象的receive方法将接收到的数据都存储到数据包的对象中。
  ds.receive(dp);
  //4.解析数据。
   String ip=dp.getAddress().getHostAddress();
   byte[] data=dp.getData();
   String text=new String(data,0,dp.getLength());
   int port=dp.getPort();
   System.out.println(ip+"::::"+text+":::"+port);
   //5关闭资源。
   ds.close();
   }
}

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马