下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、UNIX TCP/IP网络文件传输的实现摘要:该文着重讨论如何利用UNIXTP/IP所提供的套接字接口和网络库例程来编制用户应用程序,并在此根底叟实现了网络文件传输。一、引言随着计算机应用的不断深化和信息交流的不断增加,许多UNIX系统用户越来越感到,仅由一台高性能微机运行UNIX,带多台至几十台终端已不能满足应用的需要,因此,越来越多的系统正在向多用户网络方向开展。UNIXTP/IP网络就是解决上述矛盾的一种系统。它将多台运行UNIX系统的超级微机用电缆线连接起来,采用TP/IP协议进展通信,任一微机所连接的终端可登录到网上其它任一主机上进展操作,也可以通过网络提供的功能,进展其它网络操作。
2、SUNIXTP/IP网络系统为用户提供了许多通信功能,它包括远程登录、文件传输、邮件发送以及其它有关网络应用、管理及控制方面的命令。这些功能均在命令级实现,即用户只需在命令提示符下键入相应的命令,即可完成相应的操作。但是,有许多应用系统对网络功能的调用是在应用程序运行过程中的,仅通过命令接口是不能完全满足应用的需要的,因此,用户必须通过网络提供的接口编制自己的网络应用程序。SUNIXTP/IP为用户提供了一组套接字接口,本文将介绍如何通过调用套接字以及TP/IP提供的库函数编制一个文件传输应用程序。二、套接字接口及调用1.套接字接口一个用户应用系统,即一个客户进程,通常需要与一个完成其功能有的
3、效劳进程进展通信。在UNIX系统中完成这种进程间通信的一个方法是通过管道(PIPES)来实现的,UNIX网络运行系统也提供一个更灵敏的强有力的独立子系统以支持一个分布式环境的进程间通信,这个子系统就称作套接字(SKET)接口。套接字接口构成了在单个主机内及整个网际间的编程界面和进程间通信的基矗一个套接字是一个软件实体,它为进程间通信提供了根本的构件,它是进程间通信的端点,对互连网地址来说,下面的一对全名套接字唯一确定了通信双方的连接:nde.prtnde.prt其中,nde是4字节地址,prt为2字节长,左边的是本地套接字,右边是远程或外部套接字。套接字具有类型,其类型是由面向程序员的通信特性
4、决定的,它与套接字支持的特殊协议有关。时程通常是在一样类型的套接字之间通信。目前程序员可使用下面三种类型的套接字。流套接字:提供双向的、可靠的、有序的且不重复的无记录边界的数据流,它是最常用的一种类型。数据报套接字:它支持双向数据流,但记录边界被保持,接收进程必须重新定序,消除重复并提供可靠保证,它适用于单个报文的可靠性不重要的场合。原始套接字:使用原始套接字,程序员能访问低层通信协议(如IP),它不是为一般用户设置的,而是为了开发新的通信协议,或是为了访问现有协议中较隐蔽功能而设置的。2.套接字的调用TP/IP的系统调用主要是通过对套接字的操作来实现的,下面给出了部分常用的TP/IP系统调用
5、:sket创立套接字bind为套接字赋一个名字nnet启动一个连接aept承受连接listen监听连接rite/send发送信息read/rev接收信息lse关闭套接字三、UNIX网络库例程的应用网络库例程的主要用途是确定和建立网络地址。在客户方与效劳方进展通信前,在远程节点上确定一个效劳需要进展多级映射。为便于使用,每个效劳被指定一个名字,这个名字必须被翻译成网络地址,最后,该地址被用来确定一个物理位置和到效劳的途径。可见,确定远程节点上的一个效劳需要三级映射,这三级映射的详细实现随着网络构造不同而有所变化。UNIX网络库例程是程序语言函数调用,它提供以下映射的标准例程:主机名字到网络地址网
6、络地址到网络号协议名字到协议号效劳名字到端口号及效劳器使用的适当协议转贴于论文联盟.ll.1.映射主机名字例程gethstbynane,gethstbyaddr,gethstent均可完成主机名字与地址映射,它们分别将主机名或节点地址映射成一个hstent构造:struthstenthar*h_nae;/*正式主机名*/har*h_aliasea;/*别名表*/inth_addrtype;/*主机的地址类型*/inth_length;/*地址长度*/har*h_addr_list;/*地址表*/#defineh_addrh_addr_list02.映射网络名字getnetbynae,getne
7、tbynuber,getnetent是分别用于映射网络名字的例程,使用这些例程,可将网络名映射到网络号,或把网络号映射到网络名,并返回一个netent构造:strutnetenthar*n_nae;/*正式的网络名*/har*n_aliasea;/*别名表*/intn_addrtype;/*网络地址类型*/unsignedlngn_net;/*网络号*/3.映射效劳名字通过指定一个效劳名和一个可选的合法协议,例程getservbynae,getservbyprt,getservent映射效劳名字到一个servent构造:strutserventhar*s_nae;/*正式的效劳名*/har*s
8、_aliasea;/*别名表*/ints_prt;/*效劳驻留的端口号*/har*s_prt;/*所使用的协议*/四、文件传输程序的编制利用网络所提供的套接字接口和库例程,采用客户/效劳器形式来编制文件传输程序。程序流程如下:T8S09300.GIF;图1在通信之前,要为效劳分配端口地址,这个地址分配是在/et/servies文件中设置的。效劳方进程启动后,它创立套接字,指定效劳名和合法协议,并在指定端口地址上监听效劳恳求。客户方进程开始后,也要创立套接字,指定效劳名和协议号,并启动一个与效劳方的连接,连接成功后,那么立即开始数据传送,直到文件传送完毕。五、完毕语本文只是在多用户网络应用方面的一个初控,利用网络所提供的接口,我们可以在更深层次对其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《函数y=Asin(ωx+φ) 的性质与图像》学考达标练
- 2026年电视台主持人大赛新闻播报试题
- 2026年云计算安全专业题库企业数据保护与加密技术
- 2026年职业规划与求职技巧考试题库
- 2026年语言文学经典作品阅读理解及分析试题集
- 2026年市场调研与分析能力测试题消费者行为与市场趋势分析
- 2026年国家地理研究中国自然环境生态保护考试题目
- 2026年企业内部控制制度与风险控制测试题
- 2026年外语专业八级考试写作技巧英语文章写作指导及评析分析题
- 2026年中医学入门中药功效辨识题集
- 2026年亳州职业技术学院单招职业适应性测试题库带答案解析
- 2026年广东省韶铸集团有限公司(韶关铸锻总厂)招聘备考题库有答案详解
- 儿科肺炎的常见并发症及护理措施
- 贵州省遵义市2023-2024学年七年级上学期期末英语试题(含答案)
- 河南省高速公路建设项目电力设施迁改工程费用标准2025
- 光伏支架维护施工方案
- 核电站蒸汽发生器检修方案
- 2025至2030全球及中国妊娠和生育测试行业调研及市场前景预测评估报告
- 妇科盆底功能障碍康复新进展
- 护理细节血流动力学
- 肿瘤患者营养筛查评估
评论
0/150
提交评论