《Java程序设计项目化教程》任务十实现网络聊天.docx
《《Java程序设计项目化教程》任务十实现网络聊天.docx》由会员分享,可在线阅读,更多相关《《Java程序设计项目化教程》任务十实现网络聊天.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java程序设计项q化教程教学设计授课班级:某某年级授课学期:某禁学年一某学期教师袅名:某某老师教师可参见教材中的内容,讲解DatagramPacket类的常用方法。(4) DatagramSocket的作用是什么?教师可通过运输货物中“集装箱”与“码头”的例子引出DatagramSocket,然后讲解使用这 个类的实例对象就可以发送和接收DatagramPacket数据包。(5) DatagramPacket的构造方法有哪些?想创立一个DatagramSocket对象,同样需要了解一下它的构造方法,它的主要构造方法如下 所示: DatagramSocket(): DatagramSocket
2、(int port): DatagramSocket(int portJnetAddress addr)DatagramPacket类的常用方法有哪些?教师可参见教材中的内容,讲解DatagramSocket类的常用方法。(6) UDP网络程序了解了 DatagramPacket和DatagramSocket的相关知识后,教师可以编写一个UDP的网络程 序,来演示这两个类的使用。(8)聊天程序设计1)教师首先对教材中聊天程序设计任务进行介绍,然后演示程序的运行结果。2)带着学生明确本任务的任务目标以及实现思路。3)通过实现思路讲解任务实现代码的编写。三、归纳总结,自测练习,布置作业(1)对课堂
3、上讲解的知识点进行总结,使用教材中的自测练习题巩固本节课的知识点。(2)让学生动手练习,完成聊天程序设计任务的编写,巩固本节的学习内容。第九课时(TCP 通信、ServerSocket Socket、简单的 TCP 网络程序)一、回顾上节课内容,引出本节内容(1)对上节课留的作业进行答疑(2)回顾前面内容,引出本节课主题在上一节课中,我们学习了如何实现UDP通信,本节中,将学习在程序中如何实现TCP通 信。(3)明确学习目标1、了解ServerSocket类及其常用方法。2、了解Socket类及其常用方法。3、掌握简单的TCP网络程序编写二、进行重点知识的讲解(1) ServerSocket教
4、师首先要讲解ServerSocket类的作用。JDK的包中提供了一个ServerSocket类, 该类的实例对象可以实现一个服务器端的程序。接下来教师要带着学生讲解ServerSocket类创立对象时使用的构造方法。 ServerSocket(): ServerSocket(int port): ServerSocket(int port, int backlog): ServerSocket(int port, int backlog, InetAddress bindAddr)最后,讲解ServerSocket的常用方法。(2) Socket教师首先讲解Socket类的作用。有了服务器端程
5、序还不够,要想实现通信,还需要一个客户 端程序与之交互,为此JDK提供了一个Socket类,用于实现TCP客户端程序。然后讲解Socket类的构造方法。Socket的构造方法有三种,具体如下:1 Socket()Socket(String host,int port)2 Socket(InetAddress address,int port)接着教师要带着学生讲解Socket的常用方法(可参见教材表11-5)。最后教师可通过画图来描述服务器端和客户端的数据传输,如下图。(3)简单的TCP网络程序讲解完ServerSocket类和Socket类后,教师可编写一个程序,来演示这两个类的具体用法。三
6、、归纳总结,自测练习,布(1)对课堂上讲解的知识点进行总结,使用教材中的自测练习题巩固本节课的知识点。(2)让学生动手练习,完成教材中简单TCP网络程序代码的编写,巩固本节的学习内容。第十课时(多线程的TCP网络程序、文件上传)一、回顾上节课内容,引出本节内容(1)对上节课留的作业进行答疑(2)回顾前面内容,引出本节课主题上一节课主要讲解了 TCP通信中ServerSocket和Socket类的相关知识,并编写了一个简单 的TCP网络程序,但此程序只是一个单线程程序,当有一个客户端程序访问服务器端时,服务 器端就会结束阻塞状态,完成程序的运行。然而现实中,服务器端的程序通常都是允许被多个应 用
7、程序访问的,如门户网站被多个用户同时访问、多个用户同时上传文件等。本节课将主要讲解如何实现多线程的TCP网络程序,以及如何使用TCP程序实现文件上传。(3)明确学习目标1、掌握多线程服务器端程序的编写。2、学会分析“文件上传”任务的实现思路。3、根据实现思路能够独立完成“文件上传”任务的源代码编写、编译及运行。4、掌握网络通信中TCP/IP协议的编程原理。5、理解并掌握TCP通信中ServerSocket和Socket类的使用。二、进行重点知识的讲解(1)多线程的TCP网络程序教师首先通过画图来说明多个客户端访问同一个服务器端程序的实现原理,接下来通过改写 上一节课中编写的简单的TCP网络程序
8、的服务器端代码,来演示多线程网络程序的实现。(2)文件上传1)教师首先对教材中文件上传任务进行介绍,然后演示程序的运行结果。2)带着学生明确本任务的任务目标以及实现思路。3)通过实现思路讲解任务实现代码的编写。三、归纳总结,自测练习,布置作业(1)对课堂上讲解的知识点进行总结,使用教材中的自测练习题巩固本节课的知识点。(2)让学生动手练习,完成教材中文件上传任务代码的编写,巩固本节的学习内容。第十一课时(上机练习)上机一:(考察知识点UDP通信)要求学生完成聊天程序设计任务代码的编写。第十二课时(上机练习)上机一:(考察知识点TCP通信)要求学生完成文件上传任务代码的编写。思考题和习题教学后记
9、课题 名称计划单任务十实现网络聊天;12课时时内容 分析本章将针对Java线程和网络编程的相关知识进行详细地讲解,其中包括线程的创立、线程的 生命周期、线程的优先级、线程的同步、TCP/IP通信等。教学目标 及基本要 求1、掌握创立多线程的两种方式2、了解线程的生命周期及其调度方式3、掌握同步代码块和同步方法的使用4、了解了 TCP/IP协议的特点5、掌握IP地址和端口号的作用6、掌握InetAddress对象的使用7、掌握UDP和TCP通信方式教学 重点1、继承Thread类创立多线程2、实现Runnable接口创立多线程3、同步代码块4、同步方法5、死锁问题6、TCP/IP 协议7、UDP
10、和TCP通信教学 难点1、同步代码块2、同步方法3、死锁问题4、UDP和TCP通信教学 方式讲师课堂教学要以PPT讲授为主,并结合多媒体进行教学教 学 过 程第一课时(多线程概述、线程的创立)一、创设情境,引入流的概念(1)通过现实举例,引出多线程在使用计算机时,很多任务是可以同时进行的。例如,可以一边浏览网页,一边打印文档, 还可以一边聊天,一边复制文件等。计算机这种能够同时完成多项任务的技术,就是多线程技术。 Java是支持多线程的语言之一,它内置了对多线程技术的支持,可以使程序同时执行多个执行片 段。本章将针对Java多线程的相关知识进行详细地讲解。(3)明确学习目标1、了解多线程的概念
11、。2、掌握多线程创立的两种方式。二、进入重点知识的讲解(1)什么是进程?教师首先讲解进程的概念,并带着学生查看计算机中的任务管理器。在一个操作系统中,每 个独立执行的程序都可称之为一个进程,也就是“正在运行的程序”。目前大局部计算机上安装的都是多任务操作系统,即能够同时执行多个应用程序,最常见的有Windows、Linux、Unix等。(2)什么是线程?每个运行的程序都是一个进程,在一个进程中还可以有多个执行单元同时运行,这些执行单 元可以看作程序执行的一条条线索,被称为线程。(3)什么是多线程?多线程是指一个进程在执行过程中可以产生多个单线程,这些单线程程序在运行时是相互独 立的,它们可以并
12、发执行。多线程程序的执行过程如下图。(4)如何继承Thread类创立多线程?教师首先讲解Java中创立多线程的两种方式分别是继承Thread类和实现Runnable接口。接 下来编写案例,先演示单线程程序的运行,然后修改代码,让程序继承Thread类创立多线程, 并演示其执行效果。(5)如何实现Runnab加接口创立多线程?教师首先讲解继承Thread类创立多线程的局限性,然后引出多线程的另一种创立方式实现 Runnable接口。接下来编写案例,演示如何实现Runnable接口创立多线程。(6)两种实现多线程方式的比拟教师可通过编写售票程序案例来演示两种多线程方式的不同。通过程序的运行结果可知
13、,实 现Runnable接口相对于继承Thread类来说,有如下显著的好处:3 .适合多个相同程序代码的线程去处理同一个资源的情况,把线程同程序代码、数据有效 的别离,很好的表达了面向对象的设计思想。4 .可以防止由于Java的单继承带来的局限性。在开发中经常碰到这样一种情况,就是使用 一个已经继承了某一个类的子类创立线程,由于一个类不能同时有两个父类,所以不能用继承 Thread类的方式,那么就只能采用实现Runnable接口的方式。事实上,大局部的多线程应用都会采用第二种方式,即实现Runnable接口。三、归纳总结,自测练习,布置作业(1)对课堂上讲解的知识点进行总结,使用教材中的自测练
14、习题巩固本节课的知识点。(2)让学生动手练习,完成课堂练习代码的编写,加深理解,巩固本节的学习内容。第二课时(线程的生命周期及状态转换、线程的调度)一、回顾上节课内容,引出本节内容(1)对上节课留的作业进行答疑(2)回顾上节课内容,引出本节课主题在上一节课中,主要讲解了什么是多线程,以及创立多线程的两种方式。本节课将对线程的 生命周期和线程调度的相关知识进行讲解。(3)明确学习目标1、了解线程的生命周期及其状态转换。2、了解线程的优先级。3、掌握线程休眠、让步和插队的方法。二、进行重点知识的讲解(1)线程的生命周期及转换状态当Thread对象创立完成时,线程的生命周期便开始了。当run()方法
15、中代码正常执行完毕或 者线程抛出一个未捕获的异常(Exc叩tion)或者错误(Error)时,线程的生命周期便会结束。线程整 个生命周期可以分为五个阶段,分别是新建状态(New)、就绪状态(Runnable)、运行状态(Running)、 阻塞状态(Blocked)和死亡状态(Terminated),线程的不同状态说明了线程当前正在进行的活动。 在程序中,通过一些操作,可以使线程在不同状态之间转换,如图下列图所示。(新建状态获得同步锁 阻塞10方法j 调用notify。方 调用join。的线程终止 sleep。时间至start()就绪状态获得CPU使用权阻塞状态等待同步锁调用10阻塞方法调用w
16、ait。方法调用join。方法调用sleep。方法失去CPU使用权死亡状态运行状态.J run()执行完Exception 或 Error接下来教师结合线程的状态转换图分别讲解线程生命周期的5中状态。(2)什么是线程调度?程序中的多个线程是并发执行的,某个线程假设想被执行必须要得到CPU的使用权。Java虚 拟机会按照特定的机制为程序中的每个线程分配CPU的使用权,这种机制被称作线程的调度。(3)线程调度的两种模型在计算机中,线程调度有两种模型,分别是分时调度模型和抢占式调度模型。所谓分时调度 模型是指让所有的线程轮流获得CPU的使用权,并且平均分配每个线程占用的CPU的时间片。 抢占式调度模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计项目化教程 Java程序设计项目化教程任务十 实现网络聊天 Java 程序设计 项目 教程 任务 实现 网络 聊天
限制150内