《Java程序设计教程(第2版)》(贾珺)941-7教案 第29课Java网络编程(二)_第1页
《Java程序设计教程(第2版)》(贾珺)941-7教案 第29课Java网络编程(二)_第2页
《Java程序设计教程(第2版)》(贾珺)941-7教案 第29课Java网络编程(二)_第3页
《Java程序设计教程(第2版)》(贾珺)941-7教案 第29课Java网络编程(二)_第4页
《Java程序设计教程(第2版)》(贾珺)941-7教案 第29课Java网络编程(二)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

第课Java网络编程(二)29第课Java网络编程(二)29PAGE6Java网络编程(二)第课29PAGE5Java网络编程(二)第课29PAGE5

课题Java网络编程(二)课时2课时(90min)教学目标知识技能目标:了解DatagramSocket类的构造方法(2)掌握DatagramPacket类的构造方法(3)通过上机实操,将所学知识与实际应用相结合思政育人目标:(1)引导学生养成独立思考和深度思考的良好习惯(2)开阔学生视野,引导学生探究科技前沿知识,加强学生紧跟时代发展的意识教学重难点教学重点:DatagramPacket类的构造方法教学难点:将所学知识与实际应用相结合教学方法情景模拟法、问答法、讨论法教学用具电脑、投影仪、多媒体课件、教材、文旌课堂APP教学设计第1节课:传授新知(33min)

知识拓展(5min)第2节课:上机实操1(20min)

课堂演示(20min)

课堂小结(3min)

作业布置(2min)教学过程主要教学内容及步骤设计意图第一节课课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学复习上节课所学知识【学生】复习上节课所学知识通过课前复习,让学生重温上节课所学知识,使其能够更好地接受新知识考勤

(2min)【教师】使用文旌课堂APP进行签到【学生】按照老师要求签到培养学生的组织纪律性,掌握学生的出勤情况问题导入

(5min)【教师】提出以下问题:在网络编程中,TCP可以理解为打电话,而UDP(UserDatagramProtocol)则可以理解为发短信、发快递,发短信和发快递有一个共同点,发送的时候无需知道接收方存不存在,所以对于发送方来说,有可能会有“发送的消息”对方接收不到的损失,这相对于类似打电话的“TCP”方式来说,对于UDP这种“物美价廉”的通讯方式也是需要工具类的,请同学们说一下UDP编程需要的工具类有那些?【学生】思考、讨论、举手发言通过问题导入,引导学生思考,调动学生的主观能动性传授新知

(33min)【教师】通过大家的发言,引入新的知识点,讲解基于UDP的网络编程12.3基于UDP的网络编程1.DatagramSocket类用于创建数据报Socket以接收和发送数据报。2.DatagramPacket类则提供传送数据报的载体。12.3.1DatagramSocket类DatagramSocket类的构造方法DatagramSocket();DatagramSocket(intport);DatagramSocket(intport,InetAddresslocalAddr);port表示端口号,localAddr表示本地主机地址。12.3.2DatagramPacket类1.DatagramPacket类的构造方法DatagramPacket(byte[]buf,intlength);buf表示存放发送或接收的数据报的字节数组,length表示数据报的长度,address和port表示数据报发送的目标地址和端口号。2.在客户端或服务器端接收数据之前,应该采用DatagramPacket类的第一种构造方法创建一个DatagramPacket对象,然后调用DatagramSocket类的receive()方法等待接收数据报。//创建DatagramSocket类对象socket,并指定端口号为2556DatagramSocketsocket=newDatagramSocket(2556);//定义字节数组buf,长度为256字节byte[]buf=newbyte[256];//创建DatagramPacket类对象packet,并指定buf存放packetDatagramPacketpacket=newDatagramPacket(buf,256);//调用socket的receive()方法接收packetsocket.receive(packet);3.在发送数据之前,需要使用DatagramPacket类的第二种构造方法创建一个新的DatagramPacket对象,即要指明数据报发送的目标地址和端口号。发送数据报是通过DatagramSocket类的send()方法实现的。//创建DatagramSocket类对象socketDatagramSocketsocket=newDatagramSocket();//定义字节数组buf,长度为256字节byte[]buf=newbyte[256];//获取本地主机地址,并赋给addressInetAddressaddress=InetAddress.getByName("localhost");//创建DatagramPacket类对象acket,并指定buf存放acket//同时指定发送的目标地址和端口号(2556)acket//调用socket的send()方法发送packetsocket.send(packet);【教师】演示例题12-3,并对重要语句进行分析【学生】聆听、理解、记录【学生】聆听、思考、理解、记忆通过教师在课堂上对UDP的网络编程的类的讲解,使学生熟练掌握其构造方法知识拓展

(5min)【教师】讲解线程同步的小技巧【学生】聆听、记录、思考学生可进一步巩固知识第二节课上机实操

(20min)【教师】组织学生在机房使用文本编辑编写程序,运用课堂所学知识和基础在Java运行环境中编写程序,实现以下目的:模拟迷你聊天室,实现多人聊天。服务器和客户端分别在两个主机上运行(服务器主机的IP地址为192.168.1.104),客户端可创建多个用户加入聊天室,加入前须设置昵称,也可随时退出聊天室。【学生】上机实操,模拟迷你聊天室【教师】巡视机房,及时解决学生遇到的问题通过上机实操,使学生熟练掌握服务器和客户端的创建方法课堂演示

(20min)【教师】带领学生分析上机操作中出现的问题,并作出分析【问题分析】(1)在服务器程序中,定义一个公共类ChatServer(服务器类)和服务器线程类ServerThread。①在ChatServer类的main()方法中创建HashMap类对象clientMap,键为用户昵称,值为对应用户的数据字节输出流对象;然后创建服务器套接字sSocket(端口号为5007),并循环使用sSocket的accept()方法监听客户端的请求,当接收到客户端请求后,将此用户添加到clientMap中,并创建和启动服务器线程。②ServerThread类继承Thread类,在其中声明成员变量name(昵称)、dis(数据字节输入流对象)和clientMap(HashMap类对象),并通过有参构造方法初始化成员变量;然后重写run()方法,实现从dis中读取客户端消息,并通过transmitMessage()方法发送给每一个用户,如果接收到的信息为“bye”,将此用户从clientMap中删除。【教师】利用多媒体演示具体操作过程【运行结果】【学生】上机实操,根据老师的演示上机实操总结自己的不足通过演示让学生找出自己的不足,从而牢固的掌握知识点课堂小结

(3min)【教师】简要总结本节课的要点本节课学习了基于UDP的网络编程的类的构造方法。并通过上机实操让大家熟练掌握了怎样创建服务器和客户端。希望大家课下多加练习,巩固所学知识。【学生】总结回顾知识点总结知识点,巩固印象作业布置

(2min)【教师】布置课后作业编写程序,客户端发送一个文件名给服务器,服务器查找本地磁盘,如果文件

温馨提示

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

评论

0/150

提交评论