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

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

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

已采纳回答 / SoyaDokio
解决办法:在Server类的第33、34行像讲师一样插入这句代码:s.shutdownInput();在Server类的原第38、39行像讲师一样插入这句代码:s.shutdownOutput();在Client类的第24、25行像讲师一样插入这句代码:socket.shutdownOutput();在Client类的原第31、32行像讲师一样插入这句代码:socket.shutdownInput();p.s. 建议把Server类的第30行代码放到28或29行之前。

已采纳回答 / 损失函数
首先你应该把你的错误提示也贴出来,其次你在服务端并没有关闭流。

最新回答 / 心中的愤怒就像龙咆哮
感觉你的好复杂,只是我的http://www.imooc.com/article/11793还有你这部分我看不太懂,请将以下,/#是干什么用的OutputStream os=socket.getOutputStream();        PrintWriter pw=new PrintWriter(os);        pw.write("111/#"+filename+"/#"+filesize);        pw.flush();          socket.shutdownOutput(...

已采纳回答 / 心and心
读取数据有很多种方法,各有各的特点比如说字节流中,InputStream是最基本的,FileInputStream用来读取文件,DataInputStream适用于读取各种类型的数据,BufferedInputStream加缓冲可以提高IO性能字符流中也有相应的类,InputStreamReader,FileReader,BufferedReader其中BufferedReader有一个方法readLine(),可以一行一行读取,这个方法其他的都没有,使用起来比较方便再看它的构造方法,需要传入Reader...

已采纳回答 / SoyaDokio
方法有三,下面依次道来。主菜单操作:选中目标代码 - & Bl Source - &g右键快捷菜单操作:选中目标代码 - &代码 单击右键 - &ift Surround With - & Bl Try/catch B...

最新回答 / 愚人世界
将客户端的 pw.write("用户名");改为 pw.println("用户名"); 就可以了,不知道为什么,求小伙伴一起讨论

最新回答 / Airly
这个类继承了线程的方法由 extends Thread 这句代码体现。他没有调用Thread 这个父类的run方法,而是重写了这个方法....而serverThread.start();是启动这个线程,这句话你就想象成方法的调用。

最新回答 / SoyaDokio
检查完代码才在最后发现有报错信息..首先,代码看了一遍,应该是没有错误。然后是报错信息,我分析有两种可能:没有先启动服务端多次启动/停止过于频繁,JVM没来得及解除端口占用再说对应的解决方法先启动服务端再启动客户端有三种方案①关闭连接时线关闭服务端②每次启动更换端口③多次启动/停止之间留下一定空闲

已采纳回答 / 慕粉1466417893
1. 为什么要用PrinterWriter?因为我们写程序的时候,往Socket里写数据,写的都是文本,都是字符,所以PrinterWriter用于程序员写入数据。因为PrinterWriter是包装的OutputStream,底层实现数据传输的时候,会把我们写入的字符转换成二进制数据,就是字节流,所以传输的时候都是字节流传输。2. 为什么要用InputStream接收?上面讲到了,底层传输的时候,都是字节流,所以要用InputStream读取,还要用BufferedReader转换成字符流,也是为了方便...

最新回答 / Halona_zx
在while里面添加一句:c = br.readLine();while (c != null) {// 循环读取服务器发送的信息System.out.println("后面是从服务器发过来的消息" + c);c = br.readLine();}

最新回答 / SoyaDokio
有的,你看看这几个类就知道了:java.io.FileInputStream;java.io.FilterInputStream;java.io.DataInputStream;java.io.ObjectInputStream;java.io.ByteArrayInputStream;对应的output流就不写了。
课程须知
本课程是 Java 开发课程的高级课程,需要对 Java 中的面向对象、IO、多线程,以及网络相关知识有一定的基础
老师告诉你能学到什么?
1、网络相关的基础知识 2、Java 中网络相关 API 的应用 3、实现基于 TCP 的 Socket 编程 4、实现基于 UDP 的 Socket 编程

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消