计算机网络课程设计报告doc

上传人:第*** 文档编号:56950700 上传时间:2018-10-17 格式:DOC 页数:17 大小:89.50KB
返回 下载 相关 举报
计算机网络课程设计报告doc_第1页
第1页 / 共17页
计算机网络课程设计报告doc_第2页
第2页 / 共17页
计算机网络课程设计报告doc_第3页
第3页 / 共17页
计算机网络课程设计报告doc_第4页
第4页 / 共17页
计算机网络课程设计报告doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《计算机网络课程设计报告doc》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告doc(17页珍藏版)》请在金锄头文库上搜索。

1、数 据 通 信 与 计 算 机 网 络 课 程 设 计 报 告 指导老师;苏军 学 院:计算机科学学院 专 业:2013 级电子信息科学与技术 组 长:学号: 组 员: 学号:2 组 员: 学号: 基于基于 SocketSocket 在线数据传输的设计与实现在线数据传输的设计与实现 摘摘 要要 近年来随着计算机技术的飞速发展,特别是 Internet 技术的发展, 已经深刻的改变到了人们生活的方方面面。这时过去的种种陈旧的 通讯方式,都已经不能满足现代生活的需要。人们希望能够用更低 廉的价格,更加方便快捷的方式,来实现即时通讯。这时开发一套 基于 Internet 技术的网络数据传输系统变得尤

2、为重要。 Internet 是目前世界上最大的计算机互联网络,它遍布全球, 并将世界各地不同规模和大小的网络连接成为一个整体。目前基于 Internet 的应用已经非常多了,例如网上收发邮件、网上购物、网 上看电影等等。这些应用无不在改变人们的生活传统生活方式。 本课题主要研究的是基于 Socket 的数据传输软件,此软件分为 服务器程序和客户端程序,本课题的目标是能实现用户在客户端与 服务器端传递信息。主要研究开发内容是:熟悉系统开发平台,探 索在此开发平台下,利用 Socket 编程技术、TCP/IP 协议等进行聊天 软件的实际开发。 一一课程设计性质课程设计性质: 独立课设 二二课程设计

3、目的和任务:课程设计目的和任务: 1、掌握数据通信和计算机网络的基本原理 2、掌握数据通信和计算机网络设计、分析和实现方法 3、提高学生编制网络通信程序、网络应用服务程序的能力 三课程设计基本内容及要求三课程设计基本内容及要求: 基本内容:网络数据通信的基本方法及实现。 基本要求:根据选定的项目,课题小组成员认真查阅相关资料, 发挥学生的主体作用,提出设计方案,老师参与,进行讨论和分析, 最终确定设计方案。在此基础上,合理分工,协同完成项目的设计 与实现,最后完成课程设计的报告撰写。 四课程设计平台四课程设计平台 基于 Eclipse 集成开发环境 五课程设计原理:五课程设计原理: 1. TC

4、P/IP 协议协议 TCP/IP 是 Transmission Control Protocol/Internet Protocol 的简写,中文译名为传输控制协议/互联网络协议,该协 议是 Internet 最基本的协议,简单地说,就是由底层的 IP 协议和 TCP 协议组成的。TCP/IP 协议的开发工作始于 70 年代,是用于互联 网的第一套协议。 (1 1)TCP/IPTCP/IP 参考模型参考模型 TCP/IP 协议的开发研制人员将 Internet 分为五个层次,以便 于理解,它也称为互联网分层模型或互联网分层参考模型,如下所 示: 物理层:对应于网络的基本硬件,这也是 Inter

5、net 物理构成, 即我们可以看得见的硬设备,如 PC 机、互连网服务器、网络设备等, 必须对这些硬设备的电气特性作一个规范,使这些设备都能够互相 连接幷兼容使用。 网络接口层:它定义了将资料组成正确帧的规程和在网络中传 输帧的规程,帧是指一串资料,它是资料在网络中传输的单位。 互联网层:本层定义了互联网中传输的“信息包”格式,以及 从一个用户通过一个或多个路由器到最终目标的“信息包“转发机制。 传输层:为两个用户进程之间建立、管理和拆除可靠而又有效 的端到端连接。 应用层:它定义了应用程序使用互联网的规程。 (2 2)网际协议)网际协议 IPIP Internet 上使用的一个关键的底层协议

6、是网际协议,通常称 IP 协议。我们利用一个共同遵守的通信协议,从而使 Internet 成 为一个允许连接不同类型的计算机和不同操作系统的网络。要使两 台计算机彼此之间进行通信,必须使两台计算机使用同一种“语言 “。通信协议正像两台计算机交换信息所使用的共同语言,它规定了 通信双方在通信中所应共同遵守的约定。 计算机的通信协议精确地定义了计算机在彼此通信过程的所有 细节。例如,每台计算机发送的信息格式和含义,在什么情况下应 发送规定的特殊信息,以及接收方的计算机应做出哪些应答等等。 网际协议 IP 协议提供了能适应各种各样网络硬件的灵活性,对 底层网络硬件几乎没有任何要求,任何一个网络只要可

7、以从一个地 点向另一个地点传送二进制数据,就可以使用 IP 协议加入 Internet 了。 如果希望能在 Internet 上进行交流和通信,则每台连上 Internet 的计算机都必须遵守 IP 协议。为此使用 Internet 的每 台计算机都必须运行 IP 软件,以便时刻准备发送或接收信息。 IP 协议对于网络通信有着重要的意义:网络中的计算机通过安 装 IP 软件,使许许多多的局域网络构成了一个庞大而又严密的通信 系统。从而使 Internet 看起来好象是真实存在的,但实际上它是 一种幷不存在的虚拟网络,只不过是利用 IP 协议把全世界上所有愿 意接入 Internet 的计算机局

8、域网络连接起来,使得它们彼此之间 都能够通信。 (3 3)传输控制协议)传输控制协议 TCPTCP 尽管计算机通过安装 IP 软件,从而保证了计算机之间可以发送 和接收资料,但 IP 协议还不能解决资料分组在传输过程中可能出现 的问题。因此,若要解决可能出现的问题,连上 Internet 的计算 机还需要安装 TCP 协议来提供可靠的幷且无差错的通信服务。 TCP 协议被称作一种端对端协议。这是因为它为两台计算机之 间的连接起了重要作用:当一台计算机需要与另一台远程计算机连 接时,TCP 协议会让它们建立一个连接、发送和接收资料以及终止 连接。 传输控制协议 TCP 协议利用重发技术和拥塞控制

9、机制,向应用 程序提供可靠的通信连接,使它能够自动适应网上的各种变化。即 使在 Internet 暂时出现堵塞的情况下,TCP 也能够保证通信的可 靠。 众所周知, Internet 是一个庞大的国际性网络,网络上的拥 挤和空闲时间总是交替不定的,加上传送的距离也远近不同,所以 传输资料所用时间也会变化不定。TCP 协议具有自动调整“超时值“ 的功能,能很好地适应 Internet 上各种各样的变化,确保传输数 值的正确。 因此,从上面我们可以了解到:IP 协议只保证计算机能发送和 接收分组资料,而 TCP 协议则可提供一个可靠的、可流控的、全双 工的信息流传输服务。 综上所述,虽然 IP 和

10、 TCP 这两个协议的功能不尽相同,也可以 分开单独使用,但它们是在同一时期作为一个协议来设计的,幷且 在功能上也是互补的。只有两者的结合,才能保证 Internet 在复 杂的环境下正常运行。凡是要连接到 Internet 的计算机,都必须 同时安装和使用这两个协议,因此在实际中常把这两个协议统称作 TCP/IP 协议。 2 2 UDPUDP 协议协议 UDP(User Data Protocol,用户数据报协议)是与 TCP 相对应 的协议。它是面向非连接的协议,它不与对方建立连接,而是直接 就把数据包发送过去! UDP 适用于一次只传送少量数据、对可靠性要求不高的应用环 境。比如,我们经

11、常使用“ping”命令来测试两台主机之间 TCP/IP 通 信是否正常,其实“ping”命令的原理就是向对方主机发送 UDP 数据 包,然后对方主机确认收到数据包,如果数据包是否到达的消息及 时反馈回来,那么网络就是通的。例如,在默认状态下,一次 “ping”操作发送 4 个数据包。大家可以看到,发送的数据包数量是 4 包,收到的也是 4 包(因为对方主机收到后会发回一个确认收到 的数据包) 。这充分说明了 UDP 协议是面向非连接的协议,没有建 立连接的过程。正因为 UDP 协议没有连接的过程,所以它的通信效 果高;但也正因为如此,它的可靠性不如 TCP 协议高。QQ 就使用 UDP 发消息

12、,因此有时会出现收不到消息的情况。 3.Socket 编程编程 Socket 接口是访问 Internet 使用得最广泛的方法。 如果你 有一台刚配好 TCP/IP 协议的主机,其 IP 地址是 202.120.127.201, 此时在另一台主机或同一台主机上执行 ftp 202.120.127.201,显然无法建立连接。因“202.120.127.201“ 这台 主机没有运行 FTP 服务软件。同样, 在另一台或同一台主机上运行 浏览软件 如 Netscape,输入“http:/202.120.127.201“,也无法 建立连接。现在,如果在这台主机上运行一个 FTP 服务软件(该软 件将打

13、开一个 Socket, 并将其绑定到 21 端口) ,再在这台主机上 运行一个 Web 服务软件(该软件将打开另一个 Socket,并将其绑定 到 80 端口) 。这样,在另一台主机或同一台主机上执行 ftp 202.120.127.201,FTP 客户软件将通过 21 端口来呼叫主机上由 FTP 服务软件提供的 Socket,与其建立连接并对话。而在 netscape 中 输入“http:/202.120.127.201“时,将通过 80 端口来呼叫主机上由 Web 服务软件提供的 Socket,与其建 立连接并对话。 在 Internet 上有很多这样的主机,这些主机一般运行了多个服 务软

14、件,同时提供几种服务。每种服务都打开一个 Socket,并绑定 到一个端口上,不同的端口对应于不同的服务。Socket 正如其英文 原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间, 每个插座有一个编号,有的插座提供 220 伏交流电, 有的提供 110 伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编 号的插座,就可以得到不同的服务。 在 Java 中所谓 Socket 通常也称作“套接字“,用于描述 IP 地址 和端口,是一个通信链的句柄。应用程序通常通过“套接字“向网络 发出请求或者应答网络请求。 以 J2SDK-1.3 为例,Socket 和 ServerSocke

15、t 类库位于 包中。ServerSocket 用于服务器 端,Socket 是建立网络连接时使用的。在连接成功时,应用程序两 端都会产生一个 Socket 实例,操作这个实例,完成所需的会话。对 于一个网络连接来说,套接字是平等的,并没有差别,不因为在服 务器端或在客户端而产生不同级别。不管是 Socket 还是 ServerSocket 它们的工作都是通过 SocketImpl 类及其子类完成的。 重要的 Socket API:.Socket 继承于 java.lang.Object,有八个构造器,其方法并不多,下面介绍使用 最频繁的三个方法,其它方法可以参见 JDK-1.3 文档。 Ac

16、cept 方法用于产生“阻塞“,直到接受到一个连接,并且返回 一个客户端的 Socket 对象实例。“阻塞“是一个术语,它使程序运行 暂时“停留“在这个地方,直到一个会话产生,然后程序继续;通常“ 阻塞“是由循环产生的。 getInputStream 方法获得网络连接输入,同时返回一个 InputStream 对象实例。 getOutputStream 方法连接的另一端将得到输入,同时返回一 个 OutputStream 对象实例。 注意:其中 getInputStream 和 getOutputStream 方法均可能会产生一个 IOException,它必须被捕 获,因为它们返回的流对象,通常都会被另一个流对象使用。 服务器,使用 ServerSocket 监听指定的端口,端口可以随意指 定(由于 1024 以下的端口通常属于保留端口,在一些操作系统中不 可以随意使用,所以建议使用大于 1024 的端口) ,等待客户连接请 求,客户连接后,会话产生;在完成会话后,关闭连接。 客户端,使

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号