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

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

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

已采纳回答 / 慕粉1466417893
1. 为什么要用PrinterWriter?因为我们写程序的时候,往Socket里写数据,写的都是文本,都是字符,所以PrinterWriter用于程序员写入数据。因为PrinterWriter是包装的OutputStream,底层实现数据传输的时候,会把我们写入的字符转换成二进制数据,就是字节流,所以传输的时候都是字节流传输。2. 为什么要用InputStream接收?上面讲到了,底层传输的时候,都是字节流,所以要用InputStream读取,还要用BufferedReader转换成字符流,也是为了方便...
至于为什么getPort()返回-1,去看源码就知道了,URL有一个成员变量port,初始值就是-1.如果在new实例的时候,传入了大于等于-1的端口号,则会把这个端口号值赋给成员变量port,当然,如果传入了小于-1的端口,则抛异常。就这么简单,源码就这么写的,有什么好奇怪的!

最新回答 / Halona_zx
在while里面添加一句:c = br.readLine();while (c != null) {// 循环读取服务器发送的信息System.out.println("后面是从服务器发过来的消息" + c);c = br.readLine();}
失恋了 被甩了 就得来imooc学java ~~~~~~~~~~~~~
@以梦为马_imooc

最新回答 / SoyaDokio
有的,你看看这几个类就知道了:java.io.FileInputStream;java.io.FilterInputStream;java.io.DataInputStream;java.io.ObjectInputStream;java.io.ByteArrayInputStream;对应的output流就不写了。
有没有udp多线程的代码。。
老师,我爱上你了怎么办

最新回答 / qq_为爱逆战_0
<...图片...><...图片...>你看看是不是你需要的

已采纳回答 / SoyaDokio
有一种解释是如果需要向流中输出的是文字之类的字符型数据,则使用这个组合:<...code...>如果需要向流中输出的是文件之类的二进制型数据,则使用这个组合:<...code...>

最新回答 / SoyaDokio
所谓的多客户端相互通信,其实就是服务端在中间负责转发多个客户端的消息而已。

最新回答 / 慕粉3445147
端口号就和你淘宝一样。只有两边都知道地址才能通信。你收快递不用信息么?你发快递也得知道对面的信息。可能不太恰当。。
课程须知
本课程是 Java 开发课程的高级课程,需要对 Java 中的面向对象、IO、多线程,以及网络相关知识有一定的基础
老师告诉你能学到什么?
1、网络相关的基础知识 2、Java 中网络相关 API 的应用 3、实现基于 TCP 的 Socket 编程 4、实现基于 UDP 的 Socket 编程

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消