已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章Java网络程序设计,湖南科技大学计算机科学与技术系,2,主要内容,网络程序设计概述包服务器程序设计客户端程序设计,湖南科技大学计算机科学与技术系,3,10.1网络程序设计概述,包提供了与网络通信相关的类,这些类提供了独立于系统平台的通信机制。Java的通信程序通常在应用层运行,不需要关心网络底层的通信细节。Java语言的C/S编程是网络上相互通信的一种基本方式客户是指连接到一个系统并请求服务的程序。服务器是运行在一台机器上并在网络的特定部分(一个端口)进行监听,等待其它程序连接的程序。服务器通常以并发方式为多于一个的连接程序(客户)提供服务,服务器编程要求具有多线程机制。,湖南科技大学计算机科学与技术系,4,10.1网络程序设计概述,为了使用Java在Internet上利用TCP协议进行C/S编程,一个客户程序首先要和一个服务程序建立连接(connection)。连接的两端绑定一个套接字(socket),两端程序借助套接字通信。客户程序和服务程序通过读写套接字完成通信。,湖南科技大学计算机科学与技术系,5,包,在包中,使用基于UDP协议的通信应用使用类DatagramPacket,DatagramSocket和MulticastSocket完成基于UDP协议的通信应用。在包中,使用基于TCP协议的通信应用方法1:使用类URL完成基于TCP协议的通信应用。方法2:使用类Socket和类ServerSocket完成基于TCP协议的通信应用。,湖南科技大学计算机科学与技术系,6,包,类URL类URL提供了一种相对高级的、访问Internet资源的方法。类URL代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。构造方法UrlTest.java主要方法UrlReader.java,湖南科技大学计算机科学与技术系,7,包,类Socket和类ServerSocketSocket类实现客户端,ServerSocket类实现服务端。Socket通信机制绑定:服务/客户双方必须将Socket对象“bind”在一指定的IP上,并指明在哪一个“port”上提供服务。连接:服务器使用“accept”方法侦听呼叫、等待连接、接受客户。若无客户呼叫,则服务器会自动阻塞,直到接收到来自客户的连接请求而被唤醒、accept的后续程序才会继续执行。通信:可利用Socket提供的“I/O流”方法来传递和接收数据。释放:双方通信完毕后,都须调用“close”方法拆除连接、释放资源。,湖南科技大学计算机科学与技术系,8,10.3服务器程序,服务器的一个典型的运作过程:1、服务器监听相应端口的输入;2、当接收到客户机一个请求时,创建一个新线程从套接字读取数据;3、服务器处理该请求;4、服务器返回处理请求结果到客户机;5、服务器重新监听相应端口的输入。,湖南科技大学计算机科学与技术系,9,10.3服务器程序,类ServerSocket实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。主要方法ServerSocket(intport,intbacklog,InetAddressbindAddr)使用指定的端口、侦听backlog和要绑定到的本地IP地址创建服务器。bind(SocketAddressendpoint)将ServerSocket绑定到特定地址(IP地址和端口号)。accept()侦听并接受到此套接字的连接。close()关闭此套接字。示例:MyServer.java,湖南科技大学计算机科学与技术系,10,10.4客户机程序,客户程序的编写步骤:1、打开一个socket;2、对socket打开一个输入流和输出流;3、按服务程序的要求从stream中读数据或写数据;4、关闭该stream;5、关闭该socket。,湖南科技大学计算机科学与技术系,11,10.4客户机程序,Socket类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器之间的通信端点。方法Socket(InetAddressaddress,intport)创建一个流套接字并将其连接到指定IP地址的指定端口号。getInputStream()返回此套接字的输入流。getOutputStream()返回此套接字的输出流。示例:MyClient.java,湖南科技大学计算机科学与技术系,12,服务器/客户机,一个服务器可以同时提供多个不同服务,不管该服务是连结的(TCP),还是非连接的(UDP)。综合实例:服务器端:CSServer.javaUserThread.java客户端:CSClient.javaUserThread.java,湖南科技大学计算机科学与技术系,13,小结,Java网络程序设计Jav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司活动策划及活动后总结模板
- 中国棉纱头项目投资可行性研究报告
- 中国IP-IVR系统项目投资可行性研究报告
- 2025玉米种子购销合同
- 喷轮行业深度研究报告
- 硫化铵,溶液行业深度研究报告
- 中国双门电汽两用蒸车项目投资可行性研究报告
- 中国钻石型长味瓶套装项目投资可行性研究报告
- 中国噻森铜项目投资可行性研究报告
- 2025古董艺术品网上委托拍卖合同
- 建筑施工扣件式钢管脚手架安全技术规范JGJ130-
- 压力管道强度计算书
- 李冬梅:第一讲+高中信息技术新课标理念目标与实施
- 龙泉股份:淄博龙泉盛世物业有限公司审计报告
- 律师尽职调查工作方案
- 《建筑设计》课程思政教学案例(一等奖)
- 矿山工程工程量清单项目及计算规则
- 白鹿洞书院讲义
- T∕CIC 049-2021 水泥窑用固体替代燃料
- 北京市海淀区2021-2022学年七年级上学期期末考试地理试卷(Word版无答案)
- 土压平衡盾构隧道密闭钢套筒始发施工工法
评论
0/150
提交评论