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

© 横溢天使 中级黑马   /  2015-9-5 08:27  /  7266 人查看  /  25 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
不知道这是怎么回事,请大神帮忙看看
  1. /*
  2. 在自己的机子上测试UDP的收发功能,但是不知道为什么receive端不可以一直接受send端的代码,只接受一次
  3. */
  4. import java.net.*;
  5. class Send
  6. {
  7.         public static void main(String[] args) throws Exception
  8.         {
  9.                
  10.                 DatagramSocket ds=new DatagramSocket(8888);
  11.                 byte[] buf="abcdef".getBytes();
  12.                 DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.101"),10002);
  13.                 ds.send(dp);
  14.                 ds.close();
  15.                
  16.         }
  17. }
  18. class Receive
  19. {
  20.         public static void main(String[] args) throws Exception
  21.         {
  22.                 DatagramSocket ds=new DatagramSocket(10002);
  23.                 while(true)
  24.                 {
  25.                         byte[] buf=new byte[1024];
  26.                         DatagramPacket dp=new DatagramPacket(buf,buf.length);
  27.                         ds.receive(dp);
  28.                         String ip=dp.getAddress().getHostAddress();
  29.                         String data=new String(dp.getData(),0,dp.getLength());
  30.                         System.out.println(ip+"*******"+data);
  31.                 }
  32.         }
  33. }       
复制代码
异常不知道为什么一直处理不了,这段代码也不知道为什么收端仅仅接受一次发端的代码

QQ截图20150904185910.png (77.8 KB, 下载次数: 120)

QQ截图20150904185910.png

25 个回复

正序浏览
BufferedRead是IO包里的
你的代码里就没有System.in

   你明明发送的是"abcdef"
所以很可能你把两节课的练习 搞混了
回复 使用道具 举报
又想了想,代码是没问题的,那就肯定是输文件名的时候输错了,自己再仔细瞧瞧
回复 使用道具 举报
我并没有在源码中看到有BufferedReader,还有即使写了,一定记得导入io包,我也经常犯这种错误的!!!
回复 使用道具 举报
Java_EE 来自手机 中级黑马 2015-9-12 10:02:43
21#
顶一个,,
回复 使用道具 举报
bowenfei 来自手机 中级黑马 2015-9-11 23:33:33
20#
来学习的。。
回复 使用道具 举报
代码是没问题的,可能是你编译的不是这个文件,建议把文件存到其它地方再编译运行
回复 使用道具 举报
本帖最后由 lizhichao 于 2015-9-8 16:21 编辑

重新看一遍那个定义把
回复 使用道具 举报
提示路径错了 呢,classpath看看呢。
回复 使用道具 举报
加油!!!!!
回复 使用道具 举报
发帖,回帖,每天签到,攒技术分就可以!
回复 使用道具 举报
后付费的就需要的多了啊
回复 使用道具 举报
heima_huang 发表于 2015-9-5 11:07
哎呀,正在申请9月16号的课程,技术分远远不够呀~着急呀

哥给你哥分多
回复 使用道具 举报
横溢天使 发表于 2015-9-5 11:05
你什么时候入学啊?

哎呀,正在申请9月16号的课程,技术分远远不够呀~着急呀
回复 使用道具 举报
heima_huang 发表于 2015-9-5 11:03
求悬赏,为了入学,你懂得

你什么时候入学啊?
回复 使用道具 举报
横溢天使 发表于 2015-9-5 10:55
发出去了,问题成功解决,非常感谢

求悬赏,为了入学,你懂得{:2_30:}
回复 使用道具 举报
heima_huang 发表于 2015-9-5 10:48
收端仅仅接受一次的问题,你的代码应该是没有问题的。
你可以在ds.send(dp);语句后边加一个输出语句:
Sys ...

发出去了,问题成功解决,非常感谢{:2_32:}
回复 使用道具 举报
heima_huang 发表于 2015-9-5 10:40
我给你回答的关于类的问题,你试了吗?问题解决了吗?

收端仅仅接受一次的问题,你的代码应该是没有问题的。
你可以在ds.send(dp);语句后边加一个输出语句:
System.out.println("Sent");
确定一下,你的信息每次都发出去了吗?
回复 使用道具 举报
只接收了一次数据然后接收端还一直开着
回复 使用道具 举报
横溢天使 发表于 2015-9-5 10:34
嗯,可是在我的电脑上确实不能像你那样显示,我也不知道为什么

我给你回答的关于类的问题,你试了吗?问题解决了吗?
回复 使用道具 举报
heima_huang 发表于 2015-9-5 10:19
上面的代码,经测试,收端可以多次接收啊。
我只把代码中的IP地址改成我的IP,其它都没动,你再试试吧。 ...

嗯,可是在我的电脑上确实不能像你那样显示,我也不知道为什么
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马