- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chapter13网络技术及应用开发
第13章 网络技术和应用开发 本章知识点 网络编程基础知识 基于流套接字(socket)的服务器/客户端通信 Socket类 ServerSocket类 基于流套接字的服务器/客户端通信实例(单向、双向、多线程) 多用户聊天室 基于数据报套接字(datagram)的服务器/客户端通信 DatagramPacket类 DatagramSocket类 基于数据报套接字的服务器/客户端的通信实例 13.1 网络基础知识 13.1 网络基础知识 TCP协议 TCP(Transmission Control Protocol):有连接的可靠的传输协议。 传输数据的过程:设两台机器A和B使用TCP协议传输数据,A发给B的数据包,B收到后会给A一个确认收到的回复。如果A一直未收到回复,则A断定网络故障。A端发送的数据不会出现不可预知的丢失。 TCP传输协议的特点 建立连接,安全,但效率低。 TCP将要传送的内容以流的形式传输。 TCP传输数据的过程相当于打电话,有问有答。 13.1 网络基础知识 UDP协议 UDP(User Datagram Protocol):无连接的不可靠的传输协议。 传输数据的过程:设两台机器A和B使用UDP协议传输数据, A发送数据后不需要得到B机器的回复,A只管发,B只管收。B到底收到多少数据A并不知情。 UDP的特点 无连接的,不安全,但效率高。 UDP协议将要传输的内容分隔成一个一个的数据报进行传输。 UDP传输数据相当于写信。 UDP也可以保证可靠传输,如信件双方事先约好一定回信,即由上层的约定保证可靠性,也就是说UDP可靠传输需要程序员自己写程序保证。 13.1 网络基础知识 TCP和UDP的使用 TCP用于可靠性要求高的场合。使用比较广泛。 UDP 用在对实时性要求比较高的场合。例如:视频传输,要求效率高,允许少量数据丢失(数据包丢失后对视频效果影响不大)。 13.1 网络基础知识 思考:两台机器的数据交换如何被应用程序读到? 首先,需要知道对方机器的IP地址。 其次,要知道应用程序的端口号。 IP地址决定找的机器是谁,端口号决定和该机器的哪个应用程序通信。 IP地址:主机在网络中的唯一标识,是一个逻辑地址。(或用”localhost”表示) 表示本机地址(即使没有网卡该地址仍然可以用)。 13.1 网络基础知识 端口(port):端口是一个软件抽象的概念。如果把IP地址看作是一部电话,端口就相当于分机。 端口号:在某台机器上为某个应用程序分配的可以与外部进行通信的编号。端口号占两个字节(0-65535)。比如HTTP的端口号为80,FTP服务的端口号为21等。 网络应用程序一定要和某个端口绑定监听关系。 例如,一个机器有多个网络应用程序被打开:QQ聊天、网络视频、使用IE浏览网页、迅雷下载。而该机器的网卡只有一个,这些应用程序的数据传递给网卡后,网卡需要将数据解包分发给应用层。为此,发送端发送的信息既包括了数据也包括端口号。接收端收到数据包后,根据传递的数据包中的端口号,将数据包交给与该端口号绑定的应用程序处理。 13.2 基于socket的网络通信(TCP方式) 13.2.1 服务器端开发 服务器端开发步骤 (1)创建ServerSocket对象,建立新的服务器端应用程序,并与端口绑定。 (2)使用ServerSocket 的accept方法等待客户端的连接。 accept()方法是一个阻塞线程方法,执行到accept后会等待,直到客户端有申请连接过来,成功连接后返回一个socket对象。该Socket对象绑定了客户程序的IP地址或端口号。 (3)使用socket的getInputStream(),getOutputStream()方法得到对方的输入字节流或自己的输出字节流。 (4)对输入、输出字节流进行上层包装,根据需要封装为欲读写的字符、基本类型或对象等。 (5)对包装好的流对象进行读写操作。 (6)关闭资源:包括输入输出流、socket、serverSocket。 (2)-(5)循环,双方利用建立起来的socket进行通信。 13.2.1 服务器端开发 服务器程序需要创建一个ServerSocket对象,用于在指定端口上监听客户端连接请求。 ServerSocket类的构造方法 (1)ServerSocket(int port) 在指定端口上创建一个ServerSocket对象。服务器应用使用ServerSocket监听指定的端口,端口建议使用大于1024。 (2)ServerSocket(int port,int queueLength) Server在指定端口上监听客户端连接请求,并指定允许连接的客户最大数目。 13.2.1 服务器
您可能关注的文档
- aa21近似数及有效数字.ppt
- Access2003基本对象.ppt
- A8常见问题—操作篇.ppt
- 9影视观赏阿甘正传.ppt
- Access16复习面向对象程序设计.ppt
- access2003第八章数据库安全.ppt
- Access2003数据库的优化及安全.ppt
- 9年级语文下册《公输》.ppt
- Access2003︰10.1“零售商店管理信息系统”表对象属性设计.ppt
- Access2003设定字段属性.pptx
- 2025年市总工会党组书记、市委组织部部长生活会“四个带头”个人对照检查发言材料2篇(含上年度整改+个人情况、个人事项+典型案例).docx
- 2025年部编版小学六年级下册《道德与法治》第四单元 让世界更美好第10课 我们爱和平教学课件.pptx
- 公司领导班子2025年围绕“四个带头”主题检视问题整改落实方案与组织生活会批评意见(20条)2篇文.docx
- 教育系统党组班子2025年对照“四个带头”含意识形态、以典型案例举一反三解析检视材料【2篇文】.docx
- 2025年国有企业领导班子、学校副校长生活会“四个带头”方面对照个人检视发言材料2篇文(附:上年度整改情况、典型案例解析).docx
- 2025年生活会“四个带头”个人对照检查材料2篇文(含对其他领导批评意见,个人公开事项申报、意识形态).docx
- 2025年国有企业党委书记、领导班子生活会“四个带头”方面对照检查发言材料2篇文(上年度整改情况).docx
- 乡镇领导班子、市委组织部常务副部长2025年对照“四个带头”含违纪行为为典型案例的剖析与反思检视剖析材料{2篇文}.docx
- 市委社会工作部2025年生活会领导班子对照检视发言材料2篇文(含以案为鉴,深刻反思存在问题、反面典型案例举一反三解析、其他需要说明情况).docx
- 2025年民主生活会、组织生活会批评意见(20条)与市直单位领导班子“四个带头”对照检查材料【含上年度查摆问题整改落实情况】2篇文.docx
文档评论(0)