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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋旭东 中级黑马   /  2013-7-3 19:18  /  1538 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  • import java.net.*;
  • public class UdpSend
  • {
  •     public static void main(String[] args)throws Exception
  •     {
  •         //1,创建UDP服务,通过DatagramSocket
  •         DatagramSocket ds = new DatagramSocket();
  •         //2,确定数据,并封装成数据包 DatagramSocket(byte[] b
  •         byte[] buf = "udp chu xian ".getBytes();
  •         DatagramPacket dp =
  •                 new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10000);
  •         //3,通过socket服务,将已有的数据包发送出去,通过send方法
  •         ds.send(dp);
  •         //4,关闭资源
  •         ds.close();
  •     }
  • }
  • import java.net.*;
  • public class UdpRece
  • {
  •     public static void main(String[] args)throws Exception
  •     {
  •         //1,创建udp socket,建立端点
  •         DatagramSocket ds = new DatagramSocket(10000);
  •         //2,定义数据包,用于存储数据。
  •         byte[] buf = new byte[1024];
  •         DatagramPacket dp = new DatagramPacket(buf, buf.length);
  •         //3,通过服务的receeive方法将接收到的数据存入数据包中。
  •         ds.receive(dp);
  •         //4,通过数据包的方法获取其中的数据  (有获取地址,长度,端口等)
  •         String ip = dp.getAddress().getHostAddress();//获取IP
  •         //获取数据
  •         String data = new String(dp.getData() , 0 , dp.getLength());
  •         //获取端口
  •         int port = dp.getPort();
  •         System.out.println(ip + "::" + data + "::" + port);
  •         //关闭资源
  •         ds.close();
  •     }
  • }
  • 第一个是发送端  第二个是接收端  问题是接收端开起来   发送端一编译 运行 就出现错误 求解释

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

1 个回复

倒序浏览
你这样传代码不好复制啊。什么编译错误发出来瞧瞧啊,问题描述清楚才好解答哦,不然一点一点看代码晕死了。之前有个人也出现了问题,好像是端口重复的问题,你给发送端或者接受端的端口改一改试试。你两个端用了一个端口了。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马