第8章_基于Socket和数据报编程的网络开发.ppt
-
资源ID:70008293
资源大小:148.50KB
全文页数:17页
- 资源格式: PPT
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第8章_基于Socket和数据报编程的网络开发.ppt
第8章 基于Socket和数据报编程的网络开发主讲教师:贾震斌本章教学目标1.了解基于TCP和UDP协议的概念及其在数据传输中的特点;2.掌握Socket的概念及其在网络编程中的作用;3.掌握Socket建立网络连接的过程和步骤,包括服务器端及客户端编程的步骤;4.通过实例编程深化对Socket编程的理解。8.1 Socket和数据报概述8.1.1TCP概述TCP是一种面向连接的可靠的传输协议TCP协议在传输过程中需要接收方确认成功接收数据,否则发送方会自动重发数据TCP协议将数据分割成数据块依次传送优点:可靠缺点:传输速度较慢基于TCP的协议有HTTP、FTP等8.1.2UDP概述UDP协议是一种无连接的传输协议UDP协议发送数据不需要接收方确认是否收到数据UDP协议不保证数据块按发送次序到达接收方优点:传输速度较快缺点:不可靠8.2 Socket编程什么是Socket8.2.1 ServerSocketConnection接口的使用实现Socket服务器端程序的步骤:1.创建ServerSocketConnection连接:ServerSocketConnection ssc=(ServerSocketConnection)Connector.open(“socket:/:端口号);2.等待客户端连接:SocketConnection sc=(SocketConnection)ssc.acceptAndOpen();3.打开输入、输出数据流,以便服务器端与客户端之间可以传输数据:DataInputStream is=sc.openDataInputStream();DataOutputStream os=sc.openDataOutputStream();4.接收、发送信息:String result=is.readUTF();os.writeUTF(result)5.关闭各个对象is.close();os.close();sc.close();scc.close();注意无论是服务器端还是客户端程序,为了在数据收发同时能进行其他操作,通常应使用多线程编程。Class XIanCheng rctends Threadpublic void run()/此处是数据收发程序语句;8.2.2 SocketConnection接口的使用实现Socket客户端的步骤:1.建立连接:SocketConnection sc=(SocketConnection)Connector.open(“socket:/地址:端口号);2.打开输入、输出数据流,以便服务器端与客户端之间可以传输数据:InputStream is=sc.openInputStream();OutputStream os=sc.openOutputStream();例程说明Accept.javaServer.java这两个类属于同一项目,协作合成Socket程序的服务器端功能,由于教材没有提供客户端功能,因此运行后不能真正实现通信功能。利用PC机实现的服务器程序教材p.149150的程序实现了一个运行在PC机上的J2SE程序,注意这个程序有main()方法,这是J2SE程序与J2ME程序的不同;之所以要实现一个运行在PC机上的J2SE程序作为服务器端程序是为后面多客户端之间通信作准备,可以简化J2ME编程调试。WTK提供的Socket源程序WTK安装后,在其子文件夹apps中提供了大量源程序样本,是J2ME编程的优秀范例,而Socket源程序在appsNetworkDemosrcsocket文件中,可以通过导入项目的方法重建实例并运行。8.2.3多客户端之间的通信服务器端程序是运行在PC机上的J2SE程序客户端程序是J2ME程序主要是在理解服务器端程序的功能基础上,掌握客户端程序中引入的新类对象、方法功能,进而掌握Socket程序设计方法。多客户端之间的通信程序的类服务器程序:服务器程序其功能本质上是一个中转站,从一个客户端接收数据又马上转发给另一个客户端,对于服务器程序来说有多少个客户端与它连接就有多少个线程在运行。说明以上步骤更多说明可以参见WTK中docsapimidpindex.html习题1.简述TCP协议和UDP协议在数据传输中各有什么优缺点?2.简述实现Socket服务器端程序的步骤。3.简述实现Socket客户端程序的步骤4.理解多客户端之间通信实例类间关系。