Java零基础入门 - 第四章:Java语言高级
分享给朋友:
1.多线程基础与JUC工具
理解线程的概念-JAVA多线程基础与JUC工具

时长:35分22秒

线程的创建与启动01-JAVA多线程基础与JUC工具

时长:25分44秒

线程的创建与启动02-JAVA多线程基础与JUC工具

时长:25分17秒

线程的生命周期-JAVA多线程基础与JUC工具

时长:15分48秒

线程的join方法-JAVA多线程基础与JUC工具

时长:25分26秒

后台线程-JAVA多线程基础与JUC工具

时长:21分32秒

sleep方法-JAVA多线程基础与JUC工具

时长:21分25秒

线程优先级和yield方法-JAVA多线程基础与JUC工具

时长:23分41秒

理解线程安全问题-JAVA多线程基础与JUC工具

时长:20分59秒

线程同步方式01-JAVA多线程基础与JUC工具

时长:22分55秒

线程同步方式02-JAVA多线程基础与JUC工具

时长:16分45秒

线程同步方式03-JAVA多线程基础与JUC工具

时长:15分19秒

线程同步方式04-JAVA多线程基础与JUC工具

时长:21分36秒

锁顺序死锁01-JAVA多线程基础与JUC工具

时长:15分19秒

锁顺序死锁02-JAVA多线程基础与JUC工具

时长:17分28秒

锁顺序的解决办法-JAVA多线程基础与JUC工具

时长:18分09秒

对象协作之间的死锁-JAVA多线程基础与JUC工具

时长:45分21秒

使用定时锁-JAVA多线程基础与JUC工具

时长:16分10秒

volatile关键字与内存可见性-JAVA多线程基础与JUC工具

时长:44分16秒

原子性操作问题的解决-JAVA多线程基础与JUC工具

时长:32分57秒

CAS算法的实现逻辑-JAVA多线程基础与JUC工具

时长:16分56秒

JUC里的同步容器类-JAVA多线程基础与JUC工具

时长:19分47秒

CountDownLatch类的使用-JAVA多线程基础与JUC工具

时长:19分55秒

Semaphore类的使用-JAVA多线程基础与JUC工具

时长:17分09秒

CyclicBarrier类的使用-JAVA多线程基础与JUC工具

时长:17分02秒

JUC线程交换器的用法-JAVA多线程基础与JUC工具

时长:17分48秒

线程八锁-JAVA多线程基础与JUC工具

时长:19分18秒

线程安全的单例模式01-JAVA多线程基础与JUC工具

时长:22分35秒

线程安全的单例模式02-JAVA多线程基础与JUC工具

时长:14分14秒

线程通信生产者与消费者模式-JAVA多线程基础与JUC工具

时长:12分58秒

使用Object方法实现线程通信-JAVA多线程基础与JUC工具

时长:29分02秒

使用Condition实现线程通信-JAVA多线程基础与JUC工具

时长:11分28秒

线程控制方法补充-JAVA多线程基础与JUC工具

时长:22分30秒

线程程序交替-JAVA多线程基础与JUC工具

时长:13分54秒

线程池的生命周期-JAVA多线程基础与JUC工具

时长:21分23秒

使用线程池01-JAVA多线程基础与JUC工具

时长:32分30秒

使用线程池02-JAVA多线程基础与JUC工具

时长:08分50秒

使用线程池03-JAVA多线程基础与JUC工具

时长:08分32秒

读写锁01-JAVA多线程基础与JUC工具

时长:22分58秒

读写锁02-JAVA多线程基础与JUC工具

时长:38分58秒

ForkJoin工具类的使用01-JAVA多线程基础与JUC工具

时长:30分04秒

ForkJoin工具类的使用02-JAVA多线程基础与JUC工具

时长:24分45秒

2.IO模型
File类01-JAVA之IO模型与NIO入门

时长:32分54秒

File类02-JAVA之IO模型与NIO入门

时长:19分23秒

File类03-JAVA之IO模型与NIO入门

时长:17分07秒

File类04-JAVA之IO模型与NIO入门

时长:30分29秒

理解JAVAIO流-JAVA之IO模型与NIO入门

时长:25分47秒

认识输入输出流基类方法-JAVA之IO模型与NIO入门

时长:23分24秒

IO流体系和文件输入流-JAVA之IO模型与NIO入门

时长:34分05秒

文件输出流-JAVA之IO模型与NIO入门

时长:09分17秒

数组流01-JAVA之IO模型与NIO入门

时长:26分18秒

数组流02-JAVA之IO模型与NIO入门

时长:15分06秒

管道流的使用-JAVA之IO模型与NIO入门

时长:29分57秒

字符串流01-JAVA之IO模型与NIO入门

时长:22分30秒

字符串流02-JAVA之IO模型与NIO入门

时长:17分38秒

缓冲流-JAVA之IO模型与NIO入门

时长:15分15秒

转换流01-JAVA之IO模型与NIO入门

时长:15分39秒

转换流02-JAVA之IO模型与NIO入门

时长:11分22秒

对象流-JAVA之IO模型与NIO入门

时长:22分46秒

第二组抽象基类01-JAVA之IO模型与NIO入门

时长:22分37秒

第二组抽象基类02-JAVA之IO模型与NIO入门

时长:05分42秒

打印流-JAVA之IO模型与NIO入门

时长:10分27秒

推回输入流-JAVA之IO模型与NIO入门

时长:24分19秒

数据流-JAVA之IO模型与NIO入门

时长:08分25秒

重定向标准输入和输出-JAVA之IO模型与NIO入门

时长:15分36秒

Java程序对子进程的读写01-JAVA之IO模型与NIO入门

时长:10分57秒

Java程序对子进程的读写02-JAVA之IO模型与NIO入门

时长:19分38秒

RandomAccessFile类-JAVA之IO模型与NIO入门

时长:34分37秒

对象序列化01-JAVA之IO模型与NIO入门

时长:28分02秒

对象序列化02-JAVA之IO模型与NIO入门

时长:23分01秒

单例模式的对象序列化问题-JAVA之IO模型与NIO入门

时长:18分03秒

对象序列化的版本号-JAVA之IO模型与NIO入门

时长:14分17秒

序列化的安全问题01-JAVA之IO模型与NIO入门

时长:18分45秒

序列化的安全问题02-JAVA之IO模型与NIO入门

时长:23分34秒

序列化的安全问题03-JAVA之IO模型与NIO入门

时长:23分46秒

3.NIO入门
BIO和NIO的工作模式对比-JAVA之IO模型与NIO入门

时长:22分31秒

NIO的基本介绍-JAVA之IO模型与NIO入门

时长:18分20秒

使用文件通道读取文件-JAVA之IO模型与NIO入门

时长:24分30秒

文件通道的写操作-JAVA之IO模型与NIO入门

时长:24分34秒

缓冲区的基本属性和方法介绍-JAVA之IO模型与NIO入门

时长:23分53秒

缓冲区的基本方法演示-JAVA之IO模型与NIO入门

时长:18分59秒

缓冲区方法加强01-JAVA之IO模型与NIO入门

时长:22分17秒

缓冲区方法加强02-JAVA之IO模型与NIO入门

时长:21分01秒

缓冲区方法加强03-JAVA之IO模型与NIO入门

时长:09分52秒

缓冲区的创建方式-JAVA之IO模型与NIO入门

时长:17分10秒

视图缓冲区-JAVA之IO模型与NIO入门

时长:28分32秒

字节缓冲区独特之处-JAVA之IO模型与NIO入门

时长:24分03秒

直接缓冲区01-JAVA之IO模型与NIO入门

时长:33分26秒

直接缓冲区02-JAVA之IO模型与NIO入门

时长:22分43秒

直接缓冲区03-JAVA之IO模型与NIO入门

时长:17分04秒

内存管理机制-JAVA之IO模型与NIO入门

时长:34分39秒

深入梳理直接缓冲区的实现逻辑-JAVA之IO模型与NIO入门

时长:20分42秒

FileChanel的map方法01-JAVA之IO模型与NIO入门

时长:20分18秒

FileChanel的map方法02-JAVA之IO模型与NIO入门

时长:28分56秒

选择器01-JAVA之IO模型与NIO入门

时长:19分58秒

选择器02-JAVA之IO模型与NIO入门

时长:12分29秒

选择器03-JAVA之IO模型与NIO入门

时长:11分38秒

选择器04-JAVA之IO模型与NIO入门

时长:15分27秒

选择器05-JAVA之IO模型与NIO入门

时长:41分38秒

分数、聚集和通道间的数据传输-JAVA之IO模型与NIO入门

时长:15分29秒

字符集编码和Charset工具-JAVA之IO模型与NIO入门

时长:31分37秒

NIO的Pipe工具-JAVA之IO模型与NIO入门

时长:11分36秒

AIO的Path接口-JAVA之IO模型与NIO入门

时长:12分17秒

Files对象01-JAVA之IO模型与NIO入门

时长:19分42秒

Files对象02-JAVA之IO模型与NIO入门

时长:13分15秒

Files对象03-JAVA之IO模型与NIO入门

时长:10分22秒

Files对象04-JAVA之IO模型与NIO入门

时长:08分45秒

异步通道文件01-JAVA之IO模型与NIO入门

时长:23分48秒

异步通道文件02-JAVA之IO模型与NIO入门

时长:12分14秒

4.网络编程
计算机网络的基本概念-JAVA之网络编程与NIO、AIO进阶

时长:21分54秒

IP协议-JAVA之网络编程与NIO、AIO进阶

时长:25分47秒

TCP协议--JAVA之网络编程与NIO、AIO进阶

时长:24分35秒

UDP协议-JAVA之网络编程与NIO、AIO进阶

时长:10分53秒

HTTP协议01-JAVA之网络编程与NIO、AIO进阶

时长:16分26秒

HTTP协议02-JAVA之网络编程与NIO、AIO进阶

时长:28分54秒

HTTP协议03-JAVA之网络编程与NIO、AIO进阶

时长:25分44秒

HTTP协议04-JAVA之网络编程与NIO、AIO进阶

时长:24分08秒

InetAddress-JAVA之网络编程与NIO、AIO进阶

时长:14分08秒

非法URL字符的编码和解码-JAVA之网络编程与NIO、AIO进阶

时长:15分48秒

URL和URL链接类-JAVA之网络编程与NIO、AIO进阶

时长:20分59秒

多线程下载文件01-JAVA之网络编程与NIO、AIO进阶

时长:38分20秒

多线程下载文件02-JAVA之网络编程与NIO、AIO进阶

时长:23分01秒

编程的形式发送POST请求的案例-JAVA之网络编程与NIO、AIO进阶

时长:27分20秒

对第二单元的总结-JAVA之网络编程与NIO、AIO进阶

时长:12分45秒

基于TCP的网络编程的流程-JAVA之网络编程与NIO、AIO进阶

时长:08分05秒

套接字类的方法-JAVA之网络编程与NIO、AIO进阶

时长:22分55秒

基于TCP协议的通信例子-JAVA之网络编程与NIO、AIO进阶

时长:18分30秒

基于BIO实现聊天室01-JAVA之网络编程与NIO、AIO进阶

时长:29分49秒

基于BIO实现聊天室02-JAVA之网络编程与NIO、AIO进阶

时长:20分16秒

基于BIO实现聊天室03-JAVA之网络编程与NIO、AIO进阶

时长:34分45秒

基于BIO实现聊天室04-JAVA之网络编程与NIO、AIO进阶

时长:40分04秒

基于BIO实现聊天室05-JAVA之网络编程与NIO、AIO进阶

时长:23分19秒

基于BIO实现聊天室06-JAVA之网络编程与NIO、AIO进阶

时长:14分55秒

基于BIO实现聊天室07-JAVA之网络编程与NIO、AIO进阶

时长:23分29秒

基于NIO实现聊天室01-JAVA之网络编程与NIO、AIO进阶

时长:26分04秒

基于NIO实现聊天室02-JAVA之网络编程与NIO、AIO进阶

时长:24分23秒

基于NIO实现聊天室03-JAVA之网络编程与NIO、AIO进阶

时长:36分27秒

基于NIO实现聊天室04-JAVA之网络编程与NIO、AIO进阶

时长:11分32秒

基于NIO实现聊天室05-JAVA之网络编程与NIO、AIO进阶

时长:14分56秒

基于NIO实现聊天室6-JAVA之网络编程与NIO、AIO进阶

时长:23分43秒

基于NIO实现聊天室7-JAVA之网络编程与NIO、AIO进阶

时长:07分41秒

基于NIO实现聊天室8-JAVA之网络编程与NIO、AIO进阶

时长:16分23秒

基于AIO实现聊天室1-JAVA之网络编程与NIO、AIO进阶

时长:26分51秒

基于AIO实现聊天室2-JAVA之网络编程与NIO、AIO进阶

时长:24分32秒

基于AIO实现聊天室3-JAVA之网络编程与NIO、AIO进阶

时长:40分22秒

基于AIO实现聊天室4-JAVA之网络编程与NIO、AIO进阶

时长:16分48秒

基于AIO实现聊天室5-JAVA之网络编程与NIO、AIO进阶

时长:17分03秒

基于AIO实现聊天室6-JAVA之网络编程与NIO、AIO进阶

时长:15分47秒

基于AIO实现聊天室7-JAVA之网络编程与NIO、AIO进阶

时长:16分09秒

基于AIO实现聊天室8-JAVA之网络编程与NIO、AIO进阶

时长:20分27秒

基于UDP协议的网络编程-JAVA之网络编程与NIO、AIO进阶

时长:18分08秒

基于UDP协议的简单实例-JAVA之网络编程与NIO、AIO进阶

时长:24分01秒

基于UDP协议的NIO编程-JAVA之网络编程与NIO、AIO进阶

时长:23分48秒

多点广播实现原理-JAVA之网络编程与NIO、AIO进阶

时长:12分12秒

多点广播和UDP的综合实例1-JAVA之网络编程与NIO、AIO进阶

时长:36分23秒

多点广播和UDP的综合实例2-JAVA之网络编程与NIO、AIO进阶

时长:36分09秒

多点广播和UDP的综合实例3-JAVA之网络编程与NIO、AIO进阶

时长:24分18秒

多点广播和UDP的综合例子4-JAVA之网络编程与NIO、AIO进阶

时长:19分55秒

多点广播和UDP的综合例子5-JAVA之网络编程与NIO、AIO进阶

时长:23分32秒

多点广播和UDP的综合例子6-JAVA之网络编程与NIO、AIO进阶

时长:16分10秒

多点广播和UDP的综合例子7-JAVA之网络编程与NIO、AIO进阶

时长:12分41秒

使用代理服务器-JAVA之网络编程与NIO、AIO进阶

时长:26分30秒

按住画面移动小窗

下载
基于BIO实现聊天室04-JAVA之网络编程与NIO、AIO进阶
虎课APP支持视频下载
扫码下载/打开虎课APP
支持视频下载,随时随地学
手机观看
扫一扫,手机继续学
扫码下载/打开虎课APP
支持视频下载,随时随地学
基于BIO实现聊天室04-JAVA之网络编程与NIO、AIO进阶_虎课网
记笔记

全新AI视频总结上线

一键节省你80%学习时间

视频暂不支持AI视频总结
AI视频总结
编辑完成后,记得点我~

2391

已学

101小时

时长

266

配套素材

完课证书

¥199(¥299)

全站通VIP免费畅学

立即购买
学员评价 (0条评论)视频字幕
您需要学习后才可以评价, 立即学习
评论列表
仅显示有内容的评论
仅显示带图评论
排序方式:

接着前面的课程 ,前面我们定义了一个接口来定义我们的协议字符 ,我们定义了一个新的数据结构 ,来保存我们聊天室里边的用户名 ,代表客户端的用户名和对应的套接字关联的输出流 ,之间的映射关系 ,这对应一个数据结构 ,那么接下来我们就要进而再更新我们的Server类 ,服务器的这个类以及我们的服务端的那个线程类 ,我们要把前面定义的协议字符 ,和我们新的保存映射关系的数据结构 ,要在我们的服务器类和服务器线程类当中 ,我们要把它用起来 ,当然我们后面的客户端也会用到这两个新的东西 ,所以说这里边我们接下来就要我们服务器的第二次更新 ,更新我们的Server类 ,更新我们的ServerThread类 ,来 ,我们接着前面的课程内容 ,继续 ,先我们更新这个Server ,那么Server这个类我们在前面 ,在前面课程当中我给大家说过 ,我们这个服务器启动 ,如果说你上一次服务器启动没有正常停止 ,那么你第二次启动服务器的时候 ,会遇到端口号被占用的这种异常 ,那么这种异常我们应该把它捕获掉 ,所以在这里边我们要进行更新 ,这是第一个要做的更新 ,第二个要做的更新呢 ,我们前面是用一个List集合来保存 ,我们这边所有链接进来的客户端 ,现在要不得了 ,因为我们List的这个集合保存的客户端 ,这里边没有对这里边的每一个客户端进行标记 ,也就是说进来的客户端 ,我在服务器的程序当中没有办法去区分它们 ,区别它们 ,所以说这种保存方式就是要不得的 ,那么根据我们要实现私聊 ,我们必须要在群聊当中要谁发的信息 ,

我们要知道是谁发的 ,显示出是谁发的信息 ,所以说这个逻辑这个思路肯定要不得 ,所以说我们这边就把它换了 ,所以说在这里边我要把它换成 ,我们自己定义的新的一个数据结构 ,来 把原来的List换成我们自己定义的新的数据结构 ,来保存链接进来的所有客户端 ,那么这个保存的客户端也跟前面不一样 ,前面保存的是套接字Socket对象 ,那么现在我们要保持什么 ,现在我们保存的是我们代表客户端的用户名称 ,和对应的套接字 ,对应的Socket套接字关联的输出流 ,我这边是这样子保存 ,所以说这里边我们同样是要线程安全 ,但是我们在这个数据结构当中本身就保证了线程安全 ,所以说在这里边我们就只需要来public static ,然后是我们的ChatRoomMap这么一个结构 ,看到没有 ,来 这里边的泛型 ,我们的键是字符串 ,然后我们的Value值是我们的打印输出流PrintStream ,看到没有 是这样子的 ,然后在这里边我们叫做客户端 ,链接进来的所有的客户端clients等于什么 ,直接new一个ChatRoomMap ,搞定 ,看到没有 ,我们在这里边首先把服务端里边保存客户端的这个集合 ,我们把它变成我们自己升级的自己定义的数据结构来保存 ,

那么而且保存的内容也跟原来有所区别 ,那么既然这里边都改了 ,所以说我在这儿还需不需要在这里边 ,把我链接进来的Socket对象保存呢 ,当然就不需要了 ,这就不需要了 ,那么这里边是我的Server这个类的第一个更新升级的地方 ,那么第二个更新升级的地方就是我刚才说的 ,我们的服务器的链接上面可能会出现 ,服务器的链接上面可能会出现我们的 ,可能会出现我们的什么 ,可能会出现我们的异常 ,可能会出现我们这个异常 ,所以说在这里边我们把链接的整个的过程 ,以及调用我们的线程这部分东西 ,我们从Main方法 程序的执行入口里边把它抽离出来 ,我们在这把绑定IP地址 ,应该是启动服务器和端口的启动服务器的代码 ,我们把它封装起来 ,封装起来 ,封装一个init的方法里边 ,来 封装init方法里边 ,来 我们这里边我们叫做public void init ,看到没有 我们这样子来 ,那么这样子来 ,然后把这边放进来 ,那么在这里边新建一个ServerSocket ,然后我在这里边就不是把它简单的在Main方法当中去丢出去 ,这里边我们要把它全部的try/catch起来 ,try ,然后这里边是这儿 ,catch Exception e ,然后这里边一旦报错 ,我们把整个的启动服务器的这一部分代码 ,

我们都把它封装在init里边 ,然后用try/catch把它捕获一下 ,如果说在这个过程当中捕获到了异常 ,就意味着我的服务器启动失败 ,那么服务器启动失败 ,我们一个非常容易遇到的问题就是我们端口号被占用 ,所以说在这里边我们就这样子做一个提示 ,System.out.println ,那么这边是服务器启动失败 ,那么可能是端口号被占用 ,那么这个被占用的端口号是什么呢 ,来 端口号 ,来 可能是端口号被占用 ,来 这边把它隔开 ,然后++ ,然后这个端口号是什么呢 ,SERVER ,Server什么呢 ,SERVER ,这里边这个端口号 ,这里边端口号的话 ,我最好就把它抽离出来 ,就不写在这儿 ,因为我在下面要用它 ,所以说我在这边把端口号定义成一个常量 ,来 定义在这 ,服务器监听的端口号 ,服务器监听的端口号 ,来 这里边我叫做public static ,然后加上final 这就是常量了 ,public static final int SERVER_PORT ,好 等于40000 ,看到没有 ,那我这里边当然就是我们的常量了 ,SERVER_PORT ,好 ,然后这里边也是SERVER_PORT ,那么在这里边如果说这边出现异常 ,那服务器启动失败 ,那么可能是端口号被占用 ,所以说这个时候你如果出现这个提示 ,你就去看你的端口号是不是被占了 ,那么具体怎么看端口号是不是占了 ,然后怎么把这个被占用的端口号解除 ,

我在前面课程当中给大家讲过这个办法 ,所以说我这儿就不啰嗦了 ,那么这里边就是我的Server它的更新的内容 ,我这边细节上来讲做了三个更新 ,一个把我们保存客户端的这个集合 ,把它变成我们自己的ChatRoomMap数据结构 ,第二个 ,我们把启动服务器的代码把它封装到了这个init里边 ,那么第三个更新细节 ,我把这个服务器监听的端口号我把它抽离出了一个常数 ,那么接下来我在服务器 在程序的执行入口里边 ,我们要来运行它 ,来 Server ,我就要这样子玩了 ,Server server等于new一个Server ,new一个Server对象 ,然后用server.init ,我就这样子来实现 ,那么这是我们的Server服务的这个类 ,那么这里边进行这么一个更新 ,进行这么一个更新 ,第二次的升级 ,好吧 ,那么Server这个类它的升级工作暂时就做这么几个步骤 ,你们下去一定要把这个逻辑把它理解一下 ,当然这里边我都做了详细的注释 ,应该都看得懂 ,那么在这里边搞清楚了以后 ,这里边搞清楚了以后 ,那么我们接下来就是服务器端的线程类的二次升级 ,所以说我们把这个线程类打开 ,服务器端的线程类在这 ,好 ,服务器端的线程类打开 ,这边已经没有了 ,对不 ,那么对它的升级就要复杂一些 ,因为我们对它的升级要在线程类里边要判断我们 ,接收到客户端的信息的类型 ,这里边就要用到我们的协议字符 ,

然后根据不同的类型 ,然后来分别予以不同的这个动作 ,如果是公聊信息就是广播 ,如果是私聊信息 ,那就找到它的目标用户 ,然后给它单独的对这个客户端进行转发 ,所以这里边最核心的逻辑是要实现这个逻辑 ,那么实现这个逻辑的话 ,我们具体要做哪些细节上的更新呢 ,我们一点一点的来 ,不着急 ,那么在这里边基本的前面的东西 ,我们基本的前面的东西 ,这个socket ,还有这个br ,这些东西都没什么 ,然后在我的构造器里边这边 ,就不需要 ,在这里边 ,不需要在这里边去实例化这个输入流了 ,我把这个输入流给去掉 ,因为那个输入流我们要在执行体里边去获取 ,获取了以后 ,我们还要把它保存到我们的数据结构ChatRoomMap里面去 ,所以说在这里边我们构造器简化了 ,反而简单了 ,然后在我们的整个run里边 ,这里边我们就要好好的来实现了 ,它里边的东西就会变复杂了 ,远远不是这么简单了 ,那么在这里边的东西 ,我就把run方法里边的东西全部干掉 ,我推倒重写 ,来 run方法里面全部干掉 ,推倒重写 ,这个里边的东西也暂时先把它简化 ,来 ,那么run方法里边怎么做 ,首先来一个try/catch ,我对整个run方法里边的所有东西进行了一个try/catch ,那么这里边如果说出错 ,一会我要处理 ,一会儿来处理 ,来 ,

这里边是这样子 ,然后在这里边run里边我要做什么东西 ,首先 ,首先要获取 ,首先我原来在构造器里边初始化的 ,获取客户端对应的输入流 ,输入流在这儿 ,我在这里面获取 ,对应客户端的Socket套接字的输入流 ,然后br等于new一个BufferedReader ,然后在这里边new一个转换流InputStreamReader ,然后在这里边是socket.getInputStream ,当然在这里边最好转换的指明它的GBK编码方式 ,编码方式 看到没有 ,这里边是获取的输入流 ,获取到输入流以后再拿到输出流 ,再拿到客户端对应的输出流 ,那么这里边就是out ,这里边应该是ps ,我这边前面定义ps没 ,前面没有定义ps ,那我这边就要定义ps ,private PrintStream ps 等于null ,好 ,然后在这里边ps等于new PrintStream ,然后在这里边显然是我们的socket.getOutputStream ,然后true ,然后这里边GBK ,这些东西都是前面写烂的东西 ,我不做多余的解释了 ,那么这边拿到输出流以后 ,我们就通过这个输入流读数据 ,先通过输入流接收数据 ,先通过输入流去读数据 ,那么这里边我们读的数据放在这个字符串lines里边 等于null ,

好 ,然后我们通过while循环 ,来 这边while ,while循环里边它不等于空 ,null ,谁不等于空 呢 ,lines ,lines等于什么 ,等于我们的br.readLine ,那么这个读出来的lines不等于空的话 ,就客户端有信息过来 ,客户端有信息过来 ,我就把读到的 ,先读什么呢 ,先读取客户端发送来的用户名称 ,也就是说什么呢 ,也就是说一会我在做客户端升级的时候 ,同学们 ,我们原来是直接在客户端上面输信息 ,直接敲回车就发送给服务器端了 ,是这样子玩的 ,对不 ,但现在不行了 ,每个客户端先我要输入用户名 ,每一个客户端要弹出一个对话框 ,先把这个用户名输进来 ,然后把用户名给我服务器传过来 ,然后我以这个用户名来标记这个客户端 ,用户名和这个客户端一对一的一个标记 ,那么这样子我的服务器端我才能够区别 ,哪个客户端是哪个客户端 ,明白不 ,不然的话所有进来都是客户端 ,我怎么区别 ,我就没法区别了 ,那么客户端发出的数据是这个用户 ,以后就是这个用户对应发出的数据 ,

登录后查看更多
PHP开发入门
共 249 节课
Python爬虫学习
共 113 节课
计算机二级-C语言
共 151 节课
Tableau数据分析师
共 39 节课
前端开发框架及工具
共 190 节课
已是第一张图了
已是最后一张图了
记笔记

导出笔记

笔记导出历史

00:00

0/12
确定保存
笔记导出历史导出完成的笔记将保留1天,如有需求请及时下载
课程名称
导出时间
文件大小
状态
操作
AI视频总结
AI正在分析视频,请稍等…
AI总结遇到了一些问题 点击重新获取
点击重新获取
成为全站通VIP 查看完整AI总结
复制

职业路径建议意见

请选择你对职业路径课程的满意程度

请选择你对职业路径课程的满意程度

请填写关于职业路径的建议意见:

同学,小虎知道你非常努力的想学习!

老师录制课程真的也很辛苦

赞助一下吧

确定学习吗?

您每天可免费学习一个教程。

成为VIP可无限学习 !

成为VIP吧!

成为VIP吧!

您已经免费学习 1 个教程 !

我们录制教程很努力的,赞助下吧 !

升级VIP吧!

您已经学习 5 个教程啦!

我们录制教程很努力的,赞助升级下吧 !

您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个素材文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计观看5个图文教程


您在当前分类下不是VIP,赞助VIP享受无限观看


学习后才能评价哦!

获得30虎课币

评论提交成功,将在审核通过后显示

×

下载素材/源文件:

收藏成功
取消成功
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习90000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了41,822
并提交了166份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 90000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证