day26026-网络编程教案_第1页
day26026-网络编程教案_第2页
day26026-网络编程教案_第3页
day26026-网络编程教案_第4页
day26026-网络编程教案_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java核心之网络编程第二十六天 网络编程 课程内容我们今天学习的内容叫做网络编程,在生活中,我们可以通过软件将数据传送到其他的设备上,比如QQ等,今天我们就来学习这一部分知识的基础,今天的内容是学习EE以及安卓前期课程的基础,并且内容较多,所以课时会比平时稍长一些,大家要打起精神来,困了就多站一会 (切换到下页PPT) 。今天的知识是大家接触数据传输的第一步,先要了解一部分理论知识,在这些理论的基础上,会学习两个内容,一个叫做UDP,另一个叫做TCP,是两种传输的协议,协议,大家可以理解为某种规则,那么网络中的协议就代表了数据在网络中传输所要遵守的规则,而这个规则会在代码的实现过程中体现!(

2、切换到下页PPT)。第一堂课时长:51分钟内容:昨天作业题讲解,参见day26_homeworkday26作业 答案.txt(0分钟左右)01_网络编程(网络编程概述).avi02_网络编程(网络编程三要素之IP概述).avi03_网络编程(网络编程三要素之端口号概述).avi04_网络编程(网络编程三要素协议).avi05_网络编程(Socket通信原理图解).avi06_网络编程(UDP传输).avi 1.1 网络编程概述时长:04分钟1.1.1开场白首先来学习理论部分,这一部分大家的任务,就是集中注意力,认证听懂这些理论内容首先是,讲到两个概念,记住就行,接着是分别是IP、端口号、协议,

3、ip和端口很好理解,关键是协议,这个咱们讲到再给大家说 通过画图的方式加强咱们网络传输过程的理解!视频摘要:* A:计算机网络* 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。* B:网络编程* 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。引言思路:简单引入引言示例:网络编程中的两个概念,简单来了解一下! 1.1.2视频视频名称:01_网络编程(网络编程概述).avi讲师:冯佳视频长度:02分02秒录制时间:2015年视频音质:优(优、良、一般、差

4、、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路1.1.3总结与补充无1.1.4课堂提问与练习无1.1.5习题答案无1.2 网络编程三要素之IP概述 时长:10分钟1.2.1开场白视频摘要:* 每个设备在网络中的唯一标识* 每台网络终端在网络中都有一个独立的地址,我们在网络中传输数据就是使用这个地址。 * ipconfig:查看本机IP192.168.12.42* ping:测试连接192.168.40.62* 本地回路地址:127.0.0.1 255.255.255.255是广播地址* IPv4:4个字节组成,4个0-2

5、55。大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽。 * IPv6:8组,每组4个16进制数。* 1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f* 1a2b:aaaa:0000:0000:0000:aabb:1f2f* 1a2b:0000:aaaa:aabb:1f2f* 1a2b:0000:aaaa:0000:aabb:1f2f* 1a2b:0000:aaaa:0000:aabb:1f2f引言思路:简单引入引言示例:IP我们平时多少会有一些接触,我们第一天就要配置IP,对于大家而言IP,目前的印象可能就是三个点分隔开的四个数组,但实际上关于IP的背

6、景知识非常多,大家有兴趣,课余的时间可以去了解,我们这里这给大家简单的讲解一些,让大家更清楚IP是一个什么样的东西。1.2.2视频视频名称: 02_网络编程(网络编程三要素之IP概述).avi讲师:冯佳视频长度:08分11秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路1.2.3总结与补充简单的理解,一个ip地址可以代表一台电脑,且同一时刻也只能表示一台电脑,就像电话号码,你要找谁,就找他对应的电话号码就可以找到这个人,那么你要找那一台电脑,只需知道它的ip,当然还得知道

7、怎么用,这是后面再代码中会给大家演示的内容!1.2.4课堂提问与练习无1.2.5习题答案无1.3 网络编程三要素之端口号概述时长:04分钟1.3.1开场白视频摘要:* 每个程序在设备上的唯一标识* 每个网络程序都需要绑定一个端口号,传输数据的时候除了确定发到哪台机器上,还要明确发到哪个程序。* 端口号范围从0-65535* 编写网络应用就需要绑定一个端口号,尽量使用1024以上的,1024以下的基本上都被系统程序占用了。* 常用端口* mysql: 3306* oracle: 1521* web: 80* tomcat: 8080* QQ: 4000* feiQ: 2425引言思路:简单引入引

8、言示例:端口是一个很简单的概念,听一遍自然就明白是怎么回事。 1.3.2视频视频名称: 03_网络编程(网络编程三要素之端口号概述).avi讲师:冯佳视频长度:02分52秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路1.3.3总结与补充简单点一句话来说,一个端口就代表一个应用程序,但是有一点大家要注意,一个应用程序可能会对应多个端口(可以通360端口查看给学员演示)!1.3.4课堂提问与练习无1.3.5习题答案无1.4 网络编程三要素协议时长:04分钟1.4.1开场白视

9、频摘要:* 为计算机网络中进行数据交换而建立的规则、标准或约定的集合。* UDP* 面向无连接,数据不安全,速度快。不区分客户端与服务端。* TCP* 面向连接(三次握手),数据安全,速度略低。分为客户端和服务端。* 三次握手: 客户端先向服务端发起请求, 服务端响应请求, 传输数据引言思路:简单引入引言示例:对于协议,这里主要讲解的是今天学习的两种协议的特点,大家重点记一下,尽量去理解,不理解的地方,等讲到后面的代码,结合代码再进一步来理解!。 1.4.2视频视频名称:04_网络编程(网络编程三要素协议).avi讲师:冯佳视频长度:03分45秒录制时间:2015年视频音质:优(优、良、一般、

10、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路1.4.3总结与补充无1.4.4课堂提问与练习无1.4.5习题答案无1.5 Socket通信原理图解时长:03分钟1.5.1开场白视频摘要:* A:Socket套接字概述:* 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。* 通信的两端都有Socket。* 网络通信其实就是Socket间的通信。* 数据在两个Socket间通过IO流传输。* Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的IP和port。引

11、言思路:简单引入引言示例:接着是通过画图的形式让大家去理解网络中数据传输的过程,这个过程就叫做网络通信,大家通过这幅图先对网络通信有一个大体的印象,剩下的还是要随着对代码的熟练进一步掌握。 1.5.2视频视频名称: 05_网络编程(Socket通信原理图解).avi讲师:冯佳视频长度:02分36秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路1.5.3总结与补充无1.5.3课堂提问与练习无1.5.5习题答案无1.6 UDP传输时长:26分钟1.6.1开场白接下来要正式来学

12、习UDP协议传输,这一部分除了讲解UDP协议的实现,还贯穿了有趣的知识点,特别是使用GUI的知识给大家模拟了一个聊天系统,大家以后就可以说我写过一个跟QQ一样的程序,是吧(学生答:是),你们太棒啦,懂我! 好,继续,之后还会给大家演示一个特别的功能,双击jar文件启动java程序,这样,我们写好的程序就可以像电脑上的小程序一样,双击一下,就可以开始自己想要的操作,大家带好自己的好奇心,我们来正式来学习UDP协议的使用 (跳转到下个ppt)。视频摘要:* 1.发送Send* 创建DatagramSocket, 随机端口号* 创建DatagramPacket, 指定数据, 长度, 地址, 端口*

13、使用DatagramSocket发送DatagramPacket* 关闭DatagramSocket* 2.接收Receive* 创建DatagramSocket, 指定端口号* 创建DatagramPacket, 指定数组, 长度* 使用DatagramSocket接收DatagramPacket* 关闭DatagramSocket* 从DatagramPacket中获取数据* 3.接收方获取ip和端口号* String ip = packet.getAddress().getHostAddress();* int port = packet.getPort();引言思路:简单引入引言示例:

14、(如果学员状态不佳,适当调整上课气氛)接着是通过画图的形式让大家去理解网络中数据传输的过程,这个过程就叫做网络通信,大家通过这幅图先对网络通信有一个大体的印象,剩下的还是要随着对代码的熟练进一步掌握。 1.6.2视频视频名称: 06_网络编程(UDP传输).avi讲师:冯佳视频长度:14分54秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路1.6.3总结与补充无1.6.4课堂提问与练习1、整理视频中的代码思路,记录疑惑点,并练习代码(8分钟)1.6.5习题答案1、整理视频

15、中的代码思路,记录疑惑点,并练习代码(8分钟)(练习完成,下课休息)第二堂课时长:51分钟内容: 07_网络编程(UDP传输优化).avi08_网络编程(UDP传输多线程).avi09_网络编程(UDP聊天图形化界面).avi 2.1 UDP传输优化时长:08分钟2.1.1开场白视频摘要:* 接收端Receive* DatagramSocket socket = new DatagramSocket(6666);/创建socket相当于创建码头DatagramPacket packet = new DatagramPacket(new byte1024, 1024);/创建packet相当于创

16、建集装箱while(true) socket.receive(packet);/接收货物byte arr = packet.getData();int len = packet.getLength();String ip = packet.getAddress().getHostAddress();System.out.println(ip + : + new String(arr,0,len);* 发送端SendDatagramSocket socket = new DatagramSocket();/创建socket相当于创建码头Scanner sc = new Scanner(Syste

17、m.in);while(true) String str = sc.nextLine();if(quit.equals(str)break;DatagramPacket packet = /创建packet相当于创建集装箱new DatagramPacket(str.getBytes(), str.getBytes().length, InetAddress.getByName(127.0.0.1), 6666);socket.send(packet);/发货socket.close();引言思路:简单引入引言示例:刚才的代码有一个问题,就是发完一次,就要重新启动代码,发送下一次,难道我QQ聊

18、天,还要发一次启动一次QQ嘛,不可能的,所以,怎么办呢,接下来围绕这一点,咱们来看程序如何改进,大家心里也想一想,看一会讲的跟你想的思路是否一致。 2.1.2视频视频名称:07_网络编程(UDP传输优化).avi讲师:冯佳视频长度:06分36秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路2.1.3总结与补充无2.1.4课堂提问与练习无2.1.5习题答案无2.2 UDP传输多线程时长:06分钟2.2.1开场白视频摘要:* A发送和接收在一个窗口完成public class

19、 Demo3_MoreThread /* * param args */public static void main(String args) new Receive().start();new Send().start();class Receive extends Thread public void run() try DatagramSocket socket = new DatagramSocket(6666);/创建socket相当于创建码头DatagramPacket packet = new DatagramPacket(new byte1024, 1024);/创建pack

20、et相当于创建集装箱while(true) socket.receive(packet);/接收货物byte arr = packet.getData();int len = packet.getLength();String ip = packet.getAddress().getHostAddress();System.out.println(ip + : + new String(arr,0,len); catch (IOException e) e.printStackTrace();class Send extends Thread public void run() try Dat

21、agramSocket socket = new DatagramSocket();/创建socket相当于创建码头Scanner sc = new Scanner(System.in);while(true) String str = sc.nextLine();if(quit.equals(str)break;DatagramPacket packet = /创建packet相当于创建集装箱new DatagramPacket(str.getBytes(), str.getBytes().length, InetAddress.getByName(127.0.0.1), 6666);soc

22、ket.send(packet);/发货socket.close(); catch (IOException e) e.printStackTrace();引言思路:简单引入引言示例:在网络传输的过程中,大家还要考虑一各情况,咱们QQ在打开的时候,我点一个人,点开他是不是就可以同时发送和接收消息了,而咱们刚才的代码要先启动一下接收,再启动一下发送,还是显得比较麻烦,那么怎么改进呢,来看视频。2.2.2视频视频名称: 04_多线程(两个线程间的通信)(掌握).avi讲师:冯佳视频长度:04分09秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视

23、频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路2.2.3总结与补充无2.2.4课堂提问与练习无2.2.5习题答案无 2.3 UDP聊天图形化界面时长:37分钟2.3.1开场白视频摘要:简单引入。引言思路:简单引入。引言示例:(如果学员状态不佳,适当调整上课气氛)接下来进入重头戏,我们自己来写一个聊天程序,在这个聊天程序中还会实现各种功能,这个视频只是一个开始,时间比较长,大家调整一下听课状态,我们开始,下节课会再给大家留出一部分练习时间。 2.3.2视频视频名称:09_网络编程(UDP聊天图形化界面).avi讲师:冯佳视频长度:29分43秒录制时间:2015年视频音质:

24、优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路2.3.3总结与补充无2.3.4课堂提问与练习1、整理视频中的代码思路,记录疑惑点 (5分钟)2.3.5习题答案1、整理视频中的代码思路,记录疑惑点 (5分钟)(练习完成,下课休息)第三堂课时长:50分钟内容: 练习(10分钟)10_网络编程(UDP聊天发送功能).avi 3.1整理练习上节课内容时长:10分钟3.1.1开场白视频摘要:无引言思路:简单引入引言示例:下面给大家15分钟练习刚才的代码,着重看一下图形界面的搭建,有助于大家学习其他功能的实现,我

25、们写代码要有一条先,刚才的界面搭建就是第一根线!3.1.2视频无3.1.3总结与补充无3.1.4课堂提问与练习无 3.1.5习题答案无3.2 UDP聊天发送功能 时长:40分钟3.2.1开场白视频摘要:无引言思路:简单引入引言示例:好,先练习到这里,接下来药学习的是我们的核心功能,收发数据,这个是大家必须掌握的内容!3.2.2视频视频名称:10_网络编程(UDP聊天发送功能).avi讲师:冯佳视频长度:30分05秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路3.2.3总

26、结与补充无3.2.4课堂提问与练习1、整理视频中的代码思路,记录疑惑点,并练习代码() (默认8分钟,如果时间不够,让学员中午自己练习,若离放学时间较远,继续练习,除上厕所,不得擅自离堂)3.2.5习题答案1、整理视频中的代码思路,记录疑惑点,并练习代码(时间到,放学)第四堂课时长:56分钟内容: 11_网络编程(UDP聊天记录功能).avi12_网络编程(UDP聊天清屏功能).avi13_网络编程(UDP聊天震动功能).avi14_网络编程(UDP聊天快捷键和代码优化).avi 4.1 UDP聊天记录功能 时长:18分钟4.1.1开场白视频摘要:无引言思路:简单引入引言示例:接下来我们结合之

27、前所学习的内容来实现其他的一些功能,首先是记录功能,这个大家应该比较熟悉了,因为QQ上就有聊天记录,而且QQ的聊天记录我们到任何地方都能看,今天我们就不搞那么复杂的,咱们来看一下本地的记录存储怎么实现,大家想一想,怎么实现,要用到那个知识点啊(学生答:IO流),没错利用IO流将数据存储起来,在我们需要的时候再将数据读取到内存中进行操作,那么具体怎么实现,来认真看。 4.1.2视频视频名称:11_网络编程(UDP聊天记录功能).avi讲师:冯佳视频长度:16分12秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点

28、和导师提醒学生注意的问题: 见引言思路4.1.3总结与补充无4.1.4课堂提问与练习无4.1.5习题答案无4.2 UDP聊天清屏功能时长:02分钟4.2.1开场白视频摘要:无引言思路:简单引入引言示例:下面来看一下清屏,什么叫清屏,大家是不是第一时间想到的是删除操作啊,太麻烦,清屏,只要屏幕上没数据不就行了嘛,那刚才咱们是将具体的数据设置到了屏幕上,那咱们重新设置的时候,设置为没数据屏幕不就空了么,看来一些同学已经想到了,来看一下到底是怎么回事呢。 4.2.2视频视频名称: 12_网络编程(UDP聊天清屏功能).avi讲师:冯佳视频长度:01分11秒录制时间:2015年视频音质:优(优、良、一

29、般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路4.2.3总结与补充无4.2.4课堂提问与练习无4.2.5习题答案无 4.3 UDP聊天震动功能时长:15分钟4.3.1开场白视频摘要:无 引言思路:简单引入引言示例:(如果学员状态不佳,适当调整学员气氛)这个功能有意思,大家在QQ和feiq中是不是都有这个功能啊,有些同学爱使坏,对着同学的feiq没事就是猛震,没错就是那个震动功能,下面我们来看看怎么实现。 4.3.2视频视频名称: 13_网络编程(UDP聊天震动功能).avi讲师:冯佳视频长度:13分04秒录制时间:

30、2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路4.3.3总结与补充无4.3.4课堂提问与练习无4.3.5习题答案无 4.4 UDP聊天快捷键和代码优化时长:21分钟4.4.1开场白视频摘要:无引言思路:简单引入引言示例:(如果学员状态不佳,适当调整学员气氛)来看最后一部分功能的实现,将快捷键的使用结合到我们的项目中去,大家可以举一反三,下去之后也练习一下别的快捷键的使用,聊天的时候我们除了1对1,还可以1对多的聊天,就是咱们的QQ群或者一些聊天室,那么这个怎么实现呢,在等会的代码优

31、化中就会给大家来演示这个功能,有了这个功能,我们的应用就更加强大了!4.4.2视频视频名称: 14_网络编程(UDP聊天快捷键和代码优化).avi讲师:冯佳视频长度:09分14秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路4.4.3总结与补充通过视频内容,大家能看到其实所谓的震动、清屏等功能,真正意义上只是窗体的移动和重置数据内容,所以在开发中的一些功能不能用直线思想来考虑,有些同学可能第一反应就想是不是有个功能就是震动和删除功能,当然是没有的,那么就只能我们自己实现,

32、这个时候就要看你的脑子会会不会转弯了,好,先稍作休息,整理一下思绪,下节课再给大家留一点练习时间。4.4.4课堂提问与练习1、整理视频中的代码思路,记录疑惑点,并练习代码(10分钟) (由于时间较长,可提醒学员去上厕所)4.4.5习题答案1、整理视频中的代码思路,记录疑惑点,并练习代码(10分钟) (练习完成,下课休息)第五堂课时长:45分钟内容: 15_网络编程(UDP聊天生成jar文件).avi16_网络编程(TCP协议)(掌握).avi17_网络编程(TCP协议代码优化).avi 5.1 UDP聊天生成jar文件 时长:03分钟5.1.1开场白视频摘要:无引言思路:简单引入引言示例:下面

33、要学习的就是将我们的程序打包成jar包,来通过eclipse生成jar包,视频中双击jar包就能启动程序,但是有一点注意的地方,看完后再给大家补充! 5.1.2视频视频名称: 15_网络编程(UDP聊天生成jar文件).avi讲师:冯佳视频长度:01分34秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路5.1.3总结与补充刚才的视频中有一个问题需要跟大家强调一下,大家的jar包默认打开方式是不是都一些解压工具啊,比如360解压,2345解压等等,这样是不行的,这样你的ja

34、va程序生成的jar会打开错误,必须使用java中的jar包打开工具才可以启动程序,下去之后如果不行,按照day26_resource课上资料中的双击打开jar包.doc就可以实现,特别说明:如果是win7可以按照里面的图形化界面实现,但是如果是win8就只能通过修改注册表的方式来修改!另外如果有兴趣的同学还可以自己在网上找资料,把jar包转换成exe程序,那么就更完美了!5.1.4课堂提问与练习无5.1.5习题答案无5.2 TCP协议传输时长:21分钟5.2.1开场白接下来来学习TCP的使用,与UDP的过程类似,先学习TCP协议中数据的发送和收取过程,这部分是我们掌握协议的基本,要重点掌握。

35、结合早上讲过的tcp协议的特点,来理解协议传输中的代码过程!视频摘要:* 1.客户端* 创建Socket连接服务端(指定ip地址,端口号)通过ip地址找对应的服务器* 调用Socket的getInputStream()和getOutputStream()方法获取和服务端相连的IO流* 输入流可以读取服务端输出流写出的数据* 输出流可以写出数据到服务端的输入流* 2.服务端* 创建ServerSocket(需要指定端口号)* 调用ServerSocket的accept()方法接收一个客户端请求,得到一个Socket* 调用Socket的getInputStream()和getOutputStre

36、am()方法获取和客户端相连的IO流* 输入流可以读取客户端输出流写出的数据* 输出流可以写出数据到客户端的输入流引言思路:简单引入引言示例:TCP协议的应用要比UDP更强大,多用于服务器技术,UDP协议想要本地同时支持接收和发送,就要分别运行一个发送和接收的过程,而TCP不同,TCP中的数据传输对象本身就是同时支持发送和接收的,也就是说我们不需要单独再写两份代码,另一方面TCP协议更加安全,这是它广泛被应用与网络中的原因,一些大的网络项目的服务器都会使用tcp协议来实现的,但是一般都会被进一步封装。所以在TCP协议中,不区分发送端和接收端,而是分为客户端和服务器端5.2.2视频视频名称:16

37、_网络编程(TCP协议)(掌握).avi讲师:冯佳视频长度:19分09秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路5.2.3总结与补充无5.2.4课堂提问与练习无5.2.5习题答案无5.3 TCP协议代码优化时长:21分钟5.3.1开场白视频摘要:* 客户端Socket socket = new Socket(127.0.0.1, 9999);/创建Socket指定ip地址和端口号InputStream is = socket.getInputStream();/获取

38、输入流OutputStream os = socket.getOutputStream();/获取输出流BufferedReader br = new BufferedReader(new InputStreamReader(is);PrintStream ps = new PrintStream(os);System.out.println(br.readLine();ps.println(我想报名就业班);System.out.println(br.readLine();ps.println(爷不学了);socket.close();* 服务端ServerSocket server = n

39、ew ServerSocket(9999);/创建服务器Socket socket = server.accept();/接受客户端的请求InputStream is = socket.getInputStream();/获取输入流OutputStream os = socket.getOutputStream();/获取输出流BufferedReader br = new BufferedReader(new InputStreamReader(is);PrintStream ps = new PrintStream(os);ps.println(欢迎咨询传智播客);System.out.p

40、rintln(br.readLine();ps.println(报满了,请报下一期吧);System.out.println(br.readLine();server.close();socket.close();引言思路:简单引入引言示例:如果我们确定操作的内容给是一些文本数据,那么刚才的代码中就略显繁琐,既然是文本数据,完全可以使用字符流来完成这个过程,而scoket已经给我们提供了两个字节流对象,是不是把字节转字符就行了,用谁(学生答:转换流),那我们是不是还得尽量高效,怎么办(学生答:字符高效流),在视频的末尾,还给大家演示了一个小细节,大家需要留意一下,下面来看一下TCP协议代码的优

41、化过程。5.3.2视频视频名称:17_网络编程(TCP协议代码优化).avi讲师:冯佳视频长度:11分33秒录制时间:2015年视频音质:优(优、良、一般、差、很差)视频质量:优(优、良、一般、差、很差) 视频难度:正常(难、正常)视频难点和导师提醒学生注意的问题: 见引言思路5.3.3总结与补充无5.3.4课堂提问与练习1、整理视频中的代码思路,记录疑惑点,并练习代码(8分钟)5.3.5习题答案1、整理视频中的代码思路,记录疑惑点,并练习代码(8分钟) (练习完成,下课休息)第六堂课时长:54分钟内容: 18_网络编程(服务端是多线程的)(掌握).avi19_网络编程(练习).avi20_网

42、络编程(练习).avi6.1 服务端是多线程的时长:04分钟6.1.1开场白视频摘要:ServerSocket server = new ServerSocket(9999);/创建服务器while(true) final Socket socket = server.accept();/接受客户端的请求new Thread() public void run() try BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream();PrintStream ps = new PrintS

43、tream(socket.getOutputStream();ps.println(欢迎咨询传智播客);System.out.println(br.readLine();ps.println(报满了,请报下一期吧);System.out.println(br.readLine();socket.close(); catch (IOException e) e.printStackTrace();.start();引言思路:简单引入。引言示例:服务端是多线程的,这个很好理解,大家知道服务器在同一时间是会有多个客户端访问的,比如说京东,那同一时刻是不是会有很多的用户去京东买东西,如果是单线程,我是不是要等在我之前买东西的那个人买完了才能轮到我买啊,肯定不行,所以,服务端一定要是多线程的才可以,并且是每有一个用户访问,就要单独开启一个线程服务该用户,来看怎么实现。 6.1.2视频视频名称:18_网络编程(服务端是多线程的)(掌握).avi讲师:冯佳视频长度:02分24秒

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论