java网络编程技术课程设计_第1页
java网络编程技术课程设计_第2页
java网络编程技术课程设计_第3页
java网络编程技术课程设计_第4页
java网络编程技术课程设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络编程技术课程设计论文 网络编程技术课程设计论文 2012 2013 学年第二学期 题 目: 络通信程序 专业班级: 学 号: 姓 名: 指导老师: 日 期: 网络编程技术课程设计论文 2 络通信程序 设计与实现 摘要: 目前 ,基于 P 协议的网络得到了普及和飞速的发展 ,的网络程序越来越显得重要。利用 P 协议提供的编程接口 接字 )可以开发出 P 应用程序。正确的使用 可使得不同地址下的进程得以在 境下顺利进行各种网络通信 ,因此研究 有意义。而基于 P 协议网络环境下的应用程序是通过客户机 /服务器 (C/S)作用方式模式在网 络 (应用 )编程界面实现的。 本次实验采用 言设计一个基于 C/S 模式的 络通讯程序。实现客户端与服务器端之间的数据传输。 关键词: P 网络通信 C/S( 式 1 引言 计算机网络通信是以计算机为信息接收终端 ,融合了计算机网络技术的通信方式。计算机网络通信顺畅的重要保障就是网络建设。同时 ,网络建设也是计算机应用普及的基本条件 ,是推动经济社会发展的根本。 因此,了解计算机网络知识及网络编程技巧对于 术人员是必备技术之一。 2 基础理论和 技术 网络 上的计算机要互相通信,必须遵循一定的协议。目前使用最广泛的网络协议是 所使用的 P 协议。 在 P 协议中 主要负责网络主机的定位,数据传输的路由,由 址可以唯一地确定 的一台主机。而 则提供面向应用的可靠的或非网络编程技术课程设计论文 3 可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心 是如何处理数据的。 网络编程主要解决两大问题: (1)如何准确的定位网络上一台或多台主机 (2)找到主机后如何可靠高效的进行数据传输。 目前较流行的网 络编程模型是客户机 /服务器( C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。 址:标识计算机等网络设备的网络地址,由四个 8位的二进制数组成,中间以小数点分隔。 比如 机名 ( 网络地址的助记名,按照域名进行分 级管理。 端口号 (网络通信时同一机器上的不同进程的标识。 服务类型 ( 网络的各种服务。 在 址和主机名是一一对应的,通过域名解析可以由主机名得到机器的 于机器名更接近自然语言 ,容易记忆,所以使用比 址广泛,但是对机器而言只有 址才是有效的标识符。 光用主机名或 址来标识这么多个进程显然是不够的 ,只有通过主机名或址和端口号的组合才能唯一的确定网络通讯中的对象:进程。服务类型是那些已经被 P 协议标准化的在 用层上的应用,一般都是网络服务器(软件)。可以编写自己的基于网络的服务器 ,但都不能被称作标准的服务类型。 两类传输协议: P 的传输层同时存在 个协议。 一种面向连接 (可靠 )的传输控制协议。通过 到的是一个顺序、无差错的数据流。发送方和接收方成对的两个间必须建立连接,以便在 议的基础上进行通信,当一个 常都是 待建立连接时,另一 个 以要求进行连接,一旦这两个 接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。 一种无连接 (不可靠 )的用户数据报协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性网络编程技术课程设计论文 4 都是不能被保证的。 比较 可靠,传输大小无限制,但是需要连接建立时间,差错控制开销大。 不可靠,差 错控制开销较小,传输大小限制在 64K 以下,不需要建立连接。 然有诸多优点 ,但是也有缺点 :输的效率不如 ,对数据内容正确性的检验要占用计算机处理时间和网络带宽 ,此外在许多应用中并不需要保证严格的传输可靠性,比如视频会议系统 ,这种情况下显然使用 更合理一些。 2.2 络编程技术 言是在网络环境下诞生的,所以 言虽然不能说是对于网络编程的支持最好的语言,但是必须说是一种对于网络编程提供良好支持的语言,使用 言进行网络编程将是一件比较轻松的工 作。 接字 所谓 常也称作 套接字 ,应用程序通常通过 套接字 向网络发出请求或者应答网络请求。以 于 服务器 端, 建立网络连接时使用的。在连接成功时,应用 程序 两端都会产生一个 例,操作这个实例,完成所需的会话。对于一个网络连接来说, 套接字 是平等的,并没有差别,不因为在服务器端或在 客户端 而产生不同级别。不管是 是 们的工作都是通过 及其子类完成的。 重要的 承于 八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见 法用于产生 阻塞 ,直到接受到一个连接,并且返回一个 客户端 的象 实例。 阻塞 是一个术语,它使 程序 运行暂时 停留 在这个地方,直到一个会话产生,然后程序继续;通常 阻塞 是由 循环 产生的。 法获得网络连接输入,同时返回一个 象 实例。 法连接的另一端将得到输入,同时返回一个 象 实例。注意:其中 法均可能会产生一个网络编程技术课程设计论文 5 必须被捕获,因为它们返回的流 对象 ,通常都会被另一个流对象使用。 根据连接启动的方式以及本地 套接字 要连接的目标, 套接字 之间的连接过程可以分为三个步骤: 服务器 监听, 客户端 请求,连接确认。 服务器 监听: 是 服务器 端 套接字 并不定位具体的 客户端 套接字 ,而是处于等待连接的状态,实时监控网络状态。 客户端 请求: 是指由 客户端 的 套接字 提出连接请求,要连接的目标是 服务器 端的套接字。为此, 客户端 的 套接字 必须首先描述它要连接的 服务器 的套接字,指出服务器 端套接字的 地址 和 端口号 ,然后就向 服务器 端套接字提出连接请求。 连接确认: 是指当 服务器 端 套接字 监听到或者说接收到 客户端 套接字的连接请求,它就响应 客户端 套接字的请求,建立一个新的线程,把 服务器 端套接字的描述发给 客户端 ,一旦客户端确认了此描述,连接就建立好了。而 服务器 端 套接字继续处于 监听状态 ,继续接收其他 客户端 套接字的连接请求。 3 系统功能设计 网络编程都是由客户端和服务器端组成。 一 客户端网络编程步骤 客户端 (指网络编程中首先发起连接的程序,客户端一般实现程序界面和基本逻辑实现,在进行实际的客户端编程时,无论客户端复杂还是简单,以及客户端实现的方式,客户端的编 程主要由三个步骤实现: 1、 建立网络连接 客户端网络编程的第一步都是建立网络连接。在建立网络连接时需要指定连接到的服务器的 址和端口号,建立完成以后,会形成一条虚拟的连接,后续的操作就可以通过该连接实现数据交换了。 2、 交换数据 连接建立以后,就可以通过这个连接交换数据了。交换数据严格按照请求响应模型进行,由客户端发送一个请求数据到服务器,服务器反馈一个响应数据给客户端,如果客户端不发送请求则服务器端就不响应。 根据逻辑需要,可以多次交换数据,但是还是必须遵循请求响应模型。 网络编程技术课程设计论文 6 3、 关闭网络连接 在数 据交换完成以后,关闭网络连接,释放程序占用的端口、内存等系统资源,结束网络编程。 最基本的步骤一般都是这三个步骤,在实际实现时,步骤 2会出现重复,在进行代码组织时,由于网络编程是比较耗时的操作,所以一般开启专门的现场进行网络通讯。 二 服务器端网络编程步骤 服务器端 (指在网络编程中被动等待连接的程序,服务器端一般实现程序的核心逻辑以及数据存储等核心功能。服务器端的编程步骤和客户端不同,是由四个步骤实现,依次是: 1、 监听端口 服务器端属于被动等待连接, 所以服务器端启动以后,不需要发起连接,而只需要监听本地计算机的某个固定端口即可。 这个端口就是服务器端开放给客户端的端口,服务器端程序运行的本地计算机的址就是服务器端程序的 址。 2、 获得连接 当客户端连接到服务器端时,服务器端就可以获得一个连接,这个连接包含客户端的信息,例如客户端 址等等,服务器端和客户端也通过该连接进行数据交换。 一般在服务器端编程中,当获得连接时,需要开启专门的线程处理该连接,每个连接都由独立的线程实现。 3、 交换数据 服务器端通过获得的连接进行数据交换。服务器端的 数据交换步骤是首先接收客户端发送过来的数据,然后进行逻辑处理,再把处理以后的结果数据发送给客户端。简单来说,就是先接收再发送,这个和客户端的数据交换数序不同。 其实,服务器端获得的连接和客户端连接是一样的,只是数据交换的步骤不同。 当然,服务器端的数据交换也是可以多次进行的。 在数据交换完成以后,关闭和客户端的连接。 4、 关闭连接 网络编程技术课程设计论文 7 当服务器程序关闭时,需要关闭服务器端,通过关闭服务器端使得服务器监听的端口以及占用的内存可以释放出来,实现了连接的关闭。 4 系统实现 (一)主要源代码功能分析 创建 : /当触发连接按钮时,实例化一个客户端 2000); 网络编程技术课程设计论文 8 /隐藏连接界面,显示通信界面 已经连接上服务器! +n); 链接失败! ); ; 创建 : ; /生成服务器界面 /通过服务器端构造函数 实例化一个服务器端口 000); 监听 2000端口 +n); /实例化一个接受服务器数据的对象 ; 客户端程序界面: ; 址 ); 端口号 ); 10); 2000,10); 网络编程技术课程设计论文 9 连接 ); /连接界面的布局 ); 00,150); /通信界面的实例化 ; 请输入 ); 请输入 ,5,40); ; ); 发送 ); ; 已接受 ); 网络编程技术课程设计论文 10 ,60); ); ); /通信界面都的布局 /连接时通信界面是处于看不到的 00,350); 服务器端程序界面: /服务器端的界面的实例化 服务器端 ); ; 网络编程技术课程设计论文 11 00,400); /这里设置服务器端的文本框是不可编辑的 (二) 系统执行截图 ( 1) 运行服务器端 ( 2) 运行客户端 点击连接后进入连接成功界面 网络编程技术课程设计论文 12 (三)连接服务器成功界面 (四) 输入信息界面 网络编程技术课程设计论文 13 网络编程技术课程设计论文 14 点击发送后,进入发送信息界面 (五) 发送信息 显示发送成功,且服务器端接收成功。 网络编程技术课程设计论文 15 5 总结与展望 计算机网络通讯 技术发展至今,从模拟到数字、从固定到移

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论