为了账号安全,请及时绑定邮箱和手机立即绑定

Java Socket应用---通信是这样练成的

难度初级
时长 2小时 0分
学习人数
综合评分9.77
496人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
老师讲得简单易懂 棒棒哒

最新回答 / ToBeBrilliant
我记得老师说过这么一句话:byte[]是数据报中用来存储数据的。 所以我的理解是:通过receive(packet)方法,把接收的信息存在服务器端的packet中,实际上就是存在了packet中的byte[]中,然后通过String info = new String(data,0,packet.length)把packet中的byte[]转化为了String类型。 至于你提问的byte[]长度不够,我想你担心的是用来接收数据的byte data = new byte[1024];太短吧,我以前也有过这种...
Outputstream os = socket.getOutputStream();
OutputStream 不是抽象类吗,怎么可以有实例呢?
应该是PrintWrite pw = new PrintWrite (socket.getOutputStream());吧

已采纳回答 / 呆呆3774489
进程阻塞状态也称进程等待状态,是指进程等待某一特定事件的出现(如I/O操作),在该过程中,进程依旧位于内存内,且占有CPU资源.

已采纳回答 / Airly
验证非NULL是编码中很重要的一环。假如本来就是NULL,这是调用各自的close()方法是会报错的。如果在实例化这些对象时出错导致这些对象为NULL,或是实例化没问题但中途出了什么异常导致这些对象为NULL,都会在未经验证非NULL前尝试调用close()方法关闭时报错。

已采纳回答 / 霸气小刚
实现多线程的方法不止继承Thread一种实际上老师说的是每一个客户端对应一个服务器端(每次响应一个客户端,都要用多线程启动一个服务器端)你说的那种情况是多个客户端对应一个服务器端,显示效果是一样的

已采纳回答 / 墓头回
服务器是一直处于启动状态的,客户端则是分别处于各自的情况,他们通过socket进行通信,通过流来读取写入要沟通的消息。服务器端不是从头开始运行,而是从while循环里开始的。

最赞回答 / 慕粉3445147
就是。。。。你得到了这个情报,就得立马把他给送出去。
。。。。来一个
flush()方法为清空缓冲区,并不是刷新

最新回答 / 应龙
因为这个里面的bytes是有固定长度的,是1024,而读取时,读的最多也是1024光一个bytes的字符串就站满了,所以要修改,sb.append(new String(bytes).trim());这样就好了
评论2333333333333333

已采纳回答 / 应龙
锚点是一种超链接,只是它是页面内部的超链接。http://jingyan.baidu.com/album/8275fc86b79e6446a13cf66b.html
觉得老师讲的特别好!!特别有条理!!!分成几个步骤讲的好清楚啊!!!一下子就记住啦!

已采纳回答 / 想_自由
建立了新的线程后,显示客户端信息的方法在一个新的线程中执行。也就是说 显示当前客户端数量和ip地址信息的方法在一个线程中,处理接收客户端的输出信息在另一个线程中。两个线程同时执行,而显示客户端的数量这边的方法很简单,执行起来时间短,所以先输出出来了。你可以在count++前添加sleep函数让该线程暂停一会,结果就会反过来。
课程须知
本课程是 Java 开发课程的高级课程,需要对 Java 中的面向对象、IO、多线程,以及网络相关知识有一定的基础
老师告诉你能学到什么?
1、网络相关的基础知识 2、Java 中网络相关 API 的应用 3、实现基于 TCP 的 Socket 编程 4、实现基于 UDP 的 Socket 编程

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消