(最新版)通信专业_毕业设计外文翻译_

发布于:2021-06-11 05:41:34

数据通信实验中的套接字编程 ● 摘要 虽然许多数据通信的课程都没有教授编程方面的内容,但计算机专业课程的规划应该包括编程。许多有编程内 容的数据通信课程当处理详细的网络层工程时利用了 PC 上的连续端口。UNIX 套接字编程允许学生们处理同样的 事情和问题,但是从文章中它看起来更有用,而且更有趣。另外,如果套接字类使用 C++,希望得到的对套接字的 操作差不多都可以呈现出来。 ● 序论 数据通信是大多数管理信息系统(MIS)以及服务器客户端(CS)程序标准的一部分。目前作为课程广泛改善实行的证 据是提供教材的变化。许多教材,无论是针对 MIS 还是 CS,都很少或没有提供实验活动。MIS 编程趋向强调数据通 信和网络的管理。最*的新闻列表显示了对使用数据通信和通信所提供的种类和方式的调查。无论国内或国外,合作 方案都非常流行。CS 编程会使用一些非常技术和宽泛的教材。很明显,一个工程的规划需要更多广泛和详细的课程去 研究数据通信的物理和结构方面。 实验可能的类型同样很广泛。 “全球合作模型”强迫教给我们数据通信如何工作,以用于复杂的通信机制和提供一 个解释这些系统功能的基础。基于提供的资源,去考虑通过允许学生尝试通信的不同的物理和逻辑类型的设计选择。 另一个极端是强调低水*的,数据通信物理理解的练*——几乎是一个工程*R桓龅湫偷睦邮鞘褂 PC 上 连续的端口。除了编写代码去操作物理硬盘之外,更多复杂的概念将被研究。在作者过去使用过的资料中,利用一个 BiSynch 协议和令牌环来实现文件传送的分配。这个实验步骤包括基于一个发展中的 ISO OSI 数据链路层的大规模工 程。 这些步骤中没有提供实际可操作的硬件经验。除了这张纸中的练*,作者还安排了一个通过硬件和软件的安装将 PC 机联网的工程。服务器需要额外的安装和配置。当套接字模型被采用时,这样一个工程就可以继续下去。这里的步 骤呈现了为学生们提供了一个数据通信和网络的广阔视角。 ● UNIX 套接字 简单地讲,套接字是一个机制,在相同或不同的机器上实现信息传送的过程。如果这个过程在同样的机器上,套 1 接字可以用作管道。Intetnet 套接字允许运行在不同的机器之间的通信。这个系统与 file io 拥有同样的调用。套接字编 程的一个典型的步骤是创建一个过程,打开服务器套接字端口和侦听另一个尝试连接的过程。客户端可以用与服务器 端套接字同样的端口号打开一个套接字,请求服务连接。如果服务器侦听到这个请求,就建立了一个连接。通信使用 read( )和 write()函数继续。 通信有许多标准协议的类型, 比较普遍地两种是 UDP (UDP ,User Datagram Protocol, 用户数据报协议) 和 TCP (TCP ,Transmission Control Protocol, 传输控制协议) 。两种协议都是经过一个套接字过程传送信息包。UDP 不提 供一个数据被接收或者大量信息包被顺序接收的保证。 TCP 是一个可靠的和有次序的流协议。 程序员在 TCP 套接字上 输入和输出,作为一个来自终端或文件的字节流出现。如果 TCP 数据在一个合理的时间内不能被成功传送,将会显示 一个错误。由于在 UDP 中涉及比较少的开头部分,如果有次序收到数据非常重要,程序也就必须更加复杂。 两个过程之间的套接字连接是两台主机端口对之间的连接,端口号指示了提供的特殊服务。许多经 TCP 套接字的 服务通常提供一个可识别的首字母缩写词:像 SMTP(SMTP ,Simple Message Transport Protocol, 简单邮件传输协 议, 用于电子邮件的传输) ,NNTP(NNTP,Network News Transport Protocol,网络新闻传输协议(USE-NET))和 FTP (FTP,File Transfer Protocol , 文件传送[输]协议) 。Telnet(Telnet,用于远程联接服务的标准协议或者实现此协议的 软件)是另外的套接字服务。UNIX 提供了一种机制,凭借着提供服务的名字能够译出端口号。 ● 套接字的优势 数据通信实验中利用套接字编程的一个明显的缺点是没有像 PC 机连续端口那样多的直接硬件交互。然而,多数 大学生不会处在这样详细的知识会很重要的情形中。即使有连续的端口,这个概念对许多学生来说仍然很抽象。基于 套接字步骤地优势是它将套接字的抽象变得很具体。 在过去,基于 PC 机实验的一个优势是费用的低廉。然而,至少有两个因素来*衡这种优势。一是现在 UNIX 工 作站普遍使用,PC 可以通过安装 UNIX 的免费版本来转换成工作站。另一个因素是,即使 PC 给相对便宜,实际上会 出现老化,不稳定,机器被分配到一个像数据通信实验这样专注的工程。我们的经验是我们可以负担得起使用的机器 都非常不稳定。 虽然套接字编程的“高起点”的本性已经作为一个优势强调了,但使得分配像我们所希望的那样详细同样是可能 的。没有任何软件支持的套接字编程需要大量“低起点”的理解和操作。一个简单是修改将是基于 UDP 包而不是 TCP 包的分配。许多附加的程序(经 CRC(循环冗余码校验)的错误校验、顺序数字、接收的确认、接收错误的否定确认) 都是必要的。无论是 UDP 或是 TCP 包,适当的设计握手机制对文件传输这样的程序来说都是必要的。 通过连续的端口分配,课程时间就可以投入到作为控制、状态、数据记录和类似连续转换的低起点概念中。通过 一个套接字步骤,就可以讨论像信息报头、网络和机器字节顺序这样类似的概念了。如果愿意,连续端口通信的许多 适当的主题都可以成为套接字程序和给出的许多相同分配的必须。即使分配了高起点的应用,学生们仍然必须理解流 和缓冲区之间的不同。 2 ● C++套接字类的优势 许多参考书提供了套接字通信的详细情形,这些参考书提供了任务

相关推荐

最新更新

猜你喜欢