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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 贾浩田 于 2014-8-12 20:08 编辑

在第23天的课中,利用UDP的收发实现一个多线程聊天工具,一个进程同时进行收和发。为何毕老师的两个工具类要定义构造函数呢?在构造函数中将服务赋值,我把建立服务的过程写在run()方法中,最后无法实现,难道是因为我没有定义在构造函数中,最后在建立工具类对象时无服务实例导致呢??我描述的有点乱,来个简单的:在两个工具类中,为何初始化服务对象要写在构造函数中,而不写在run()方法中呢?


发现毕老师视频中的一个小问题
自己解决了,解释如下
     如果输入“886”程序卡死的原因是:虽然break跳出,但是Receive是阻塞方法依旧在执行,并且没有收到发来的数据,所以卡死。也就是说如果要想结束“聊天”,不仅要停止键盘录入的循环,还有告知接收方。所以这个结束标志“886”必须要发送到接收方并且让接收方有相应的处理,才能完整的结束“聊天”。即结束聊天的过程需要发送和接收的双方认可才能进行。求技术分

评分

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

查看全部评分

1 个回复

倒序浏览
另外,在循环中结束聊天为什么无法实现,readLine()和receive()方法都是阻塞式的,break以后程序卡死,无法退出,求帮助
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马