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

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

难度初级
时长 2小时 0分
学习人数
综合评分9.77
496人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
可以用readUTF和writeUTF来读写数据啊
写一个聊天很容易,网络+IO+thread就可以了
听这位老师讲课必须加快语速
http://blog.csdn.net/su20145104009/article/details/52843735 我写的 Socket实例之客户端向服务端上传文件UI版 一起学习 ~ 有问题欢迎评论 看到会回复
http://blog.csdn.net/su20145104009/article/details/52843735 我写的 Socket实例之客户端向服务端上传文件UI版 一起学习 ~
老师讲的真不错,PPt和案例简单直观,视频允许快进极大的促进了听课效率。
曾经有人问我,学编程要不要学好英语?我呵呵一笑
多用户通信,其实只需要创建线程处理类,然后将server类中的步骤写到run()方法中,具体可看笔记。^.^
你可以在write()后输入PrintWriter的println(),也可以直接用println()取代write()发送消息。或者是和老师一样,直接调用发送端的socket的shutdownOutput()方法,这样会直接关闭输出流,接收端的readLine()就会知道消息传输结束了,不会一直卡在那等\r\n的界定符了。
这里不推荐用shutdownOutput()或shutdownInput()方法,这两个方法应该都是有特殊用途时才用的,同时关闭了后不能再次调用getInputStream()或是getOutputStream(),不然会抛出异常。
有人问:“打开输入流之前要调用shutdownoutput方法,反之也一样,原理不明白,但是如果不这么做,客户端和服务器都没法接收信息并输出,很奇怪”
其实是因为老师接受信息是使用BufferedReader的readLine()方法,这个方法是以\r\n作为界定符的,由于发送消息的那一端用的是PrintWriter的write()方法,这个方法并没加上\r\n,所以接收端会一直等待。
额,还是先学完数据库那章节再回来写这个吧.
用字节数组大于127会输出负数,避免输出负数的方法:
byte[] bytes = address.getAddress();
for (byte b : bytes) System.out.println(b >= 0 ? b : b + 256);
计算机名:192.168.1.101
IP地址:192.168.1.101,出现这种情况
课程须知
本课程是 Java 开发课程的高级课程,需要对 Java 中的面向对象、IO、多线程,以及网络相关知识有一定的基础
老师告诉你能学到什么?
1、网络相关的基础知识 2、Java 中网络相关 API 的应用 3、实现基于 TCP 的 Socket 编程 4、实现基于 UDP 的 Socket 编程

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消