【基于Socket网络通信协议的应用研究】.docVIP

【基于Socket网络通信协议的应用研究】.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录 摘要 1 前言 2 1 Socket的定义和工作原理 2 2 支持Socket的操作系统 2 2.1 Linux环境中的Socket 2 2.1.1 Linux的Socket的提出 2 2.1.2 Linux的Socket的工作方式 3 2.2 Windows NT系统环境中对Socket的支持 4 2.2.1 Winsock(Windows Socket)的提出 4 3.2.2 Winsock的原理 4 3.2.3 Winsock的通讯方式 4 3 Socket开发工具的讨论 5 3.1 C#中socket编程实现 5 3.2 Delphi中socket的操作方法 5 3.2.1 ServerSocket的属性设置 5 3.2.2 ClientSocket的属性 5 4 Socket在TCP与UDP协议集中的工作方式 6 4.1 传输层的TCP与UDP 6 4.2传输层端口与 Socket 6 4.3 用Socket实现基于TCP和UDP的原理 7 5 Socket在Java编程语言中的应用以及实现 8 5.1 Socket在Java中的工作流程 8 5.2 在Java中实现Socket通讯 8 5.2.1 创建Socket和ServerSocket对象 8 5.2.2 创建服务器端 9 5.2.3建立客户端 9 6 结论 10 参考文献 12 前言 随着网络通信技术的不断发展,Socket开发和研究已成为人们关注的热点。Socke既适用于同一台计算机上的进程间通信,也适用于网络环境中的进程间通信。它已成为当前许多操作系统的网络API,也是网络操作系统中必不可少的基础功能。套接字是通信的基本元件,两个进程为了进行通信,首先必须设置套接字。通俗讲,套接字相当于由其名字连接起来的通信线路的端点,这种连接不仅适用于本地进程之间的通信,而且也使用语远地进程之间的通信。用套接字连接的两个进程可双向通信,且两通信端点的工作方式是不同的,一端须工作于服务方,另一端须工作于客户方。 本文从多个方面介绍了Socket的应用开发、实现环境以及工作流程,并用JAVA开发工具在Windows NT系统上实现网络通讯为例来对Socket套接字做了更加深入的介绍。 1 Socket的定义和工作原理 Socket套接字,英文原义是插座的意思,是进程之间通信的抽象连接点,可以通过一个形象的例子来理解这个概念,现实生活中的电话是人们联系的常用工具,双方只要使用两部电话机就可以交谈,在计算机世界中,两个程序就是使用Socket进行通信的,一个Socket就好比一部电话机,两个程序在网络上通过一个双向链路进行通信,这个双向链路的每一端就成为一个Socket。 进程之间要通信,首先要建立各自的Socket就像要打电话一定要先有电话机一样,打电话时每部电话机都可以说和听。与此类似,每个Socket也都可以进行读、写操作,读、写操作时分别要用到Socket中的输入流和输出流。 建立连接后,客户程序可以向Socket里写入请求,然后服务器会处理这个请求,并把处理结果通过Socket送回。服务器应用程序一般监听一个特定端口以等待一个客户的连接请求,当一个连接请求到达时,客户和服务器建立一个通信连接。在连接过程中,客户被分配一个本地端口号并且与一个Socket连接,客户通过写Socket来通知服务器,通过读Socket来获取信息。类似地,服务器也获取一个本地端口号,它需要一个新的端口号来监听原始端口上的其它连接请求。服务器也给它的本地端口连接一个Socket,读写来自客户的请求。 目前可以使用两种Socket,即流式Socket和数据报式Socket。流式Socket提供了双向的、有序的、无重复并且无记录边界的数据流服务。TCP即是一种流式Socket协议;数据报式Socket支持双向的数据流,但并不保证可靠、有序、无重复 也就是说,一个以数据报式Socket接收信息的进程有可能发送信息重复了,或者和发出的顺序不同。数据报式Socket的一个重要特点是它保留了记录边界。UDP即是一种数据报式Socket协议。 2 支持Socket的操作系统 Socket是网络通讯的基本元件,所有涉及到TCP/IP应用层进程的操作系统都会对Socket有所支持,但不同的操作系统对Socket的支持方式均不相同。 2.1 Linux环境中的Socket 2.1.1 Linux的Socket的提出 Linux操作系统与网络联系密切,它不仅具有稳定、简易、高效、兼容性好等特点,并且支持多种网络协议,如IPv4、IPv6、X125、IPX、NETB IOS、DDP 等,因此被广泛应用于网络服务领域。而在Linux 环境下开发出高性能的网络通信程序,也是充分发挥Linux 网络特性的一个

文档评论(0)

14576 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档