会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

通信学论文-UNIX TCP-IP网络文件传输的实现 .doc通信学论文-UNIX TCP-IP网络文件传输的实现 .doc -- 2 元

宽屏显示 收藏 分享

页面加载中... ... 广告 0 秒后退出

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

通信学论文UNIXTCP/IP网络文件传输的实现摘要该文着重探讨如何利用UNIXTCP/IP所提供的套接字接口和网络库例程来编制用户应用程序,并在此基础叟实现了网络文件传输。一、引言随着计算机应用的不断深入和信息交流的不断增加,许多UNIX系统用户越来越感到,仅由一台高性能微机运行UNIX,带多台至几十台终端已不能满足应用的需要,因此,越来越多的系统正在向多用户网络方向发展。UNIXTCP/IP网络就是解决上述矛盾的一种系统。它将多台运行UNIX系统的超级微机用电缆线连接起来,采用TCP/IP协议进行通信,任一微机所连接的终端可登录到网上其它任一主机上进行操作,也可以通过网络提供的功能,进行其它网络操作。SCOUNIXTCP/IP网络系统为用户提供了许多通信功能,它包括远程登录、文件传输、邮件发送以及其它有关网络应用、管理及控制方面的命令。这些功能均在命令级实现,即用户只需在命令提示符下键入相应的命令,即可完成相应的操作。但是,有许多应用系统对网络功能的调用是在应用程序运行过程中的,仅通过命令接口是不能完全满足应用的需要的,因此,用户必须通过网络提供的接口编制自己的网络应用程序。SCOUNIXTCP/IP为用户提供了一组套接字接口,本文将介绍如何通过调用套接字以及TCP/IP提供的库函数编制一个文件传输应用程序。二、套接字接口及调用1.套接字接口一个用户应用系统,即一个客户进程,通常需要与一个完成其功能有的服务进程进行通信。在UNIX系统中完成这种进程间通信的一个方法是通过管道PIPES来实现的,UNIX网络运行系统也提供一个更灵活的强有力的独立子系统以支持一个分布式环境的进程间通信,这个子系统就称作套接字SOCKET接口。套接字接口构成了在单个主机内及整个网际间的编程界面和进程间通信的基础。一个套接字是一个软件实体,它为进程间通信提供了基本的构件,它是进程间通信的端点,对互连网地址来说,下面的一对全名套接字唯一确定了通信双方的连接其中,node是4字节地址,port为2字节长,左边的是本地套接字,右边是远程或外部套接字。套接字具有类型,其类型是由面向程序员的通信特性决定的,它与套接字支持的特殊协议有关。时程通常是在相同类型的套接字之间通信。目前程序员可使用下面三种类型的套接字。流套接字提供双向的、可靠的、有序的且不重复的无记录边界的数据流,它是最常用的一种类型。数据报套接字它支持双向数据流,但记录边界被保持,接收进程必须重新定序,消除重复并提供可靠保证,它适用于单个报文的可靠性不重要的场合。原始套接字使用原始套接字,程序员能访问低层通信协议如IP,它不是为一般用户设置的,而是为了开发新的通信协议,或是为了访问现有协议中较隐蔽功能而设置的。2.套接字的调用TCP/IP的系统调用主要是通过对套接字的操作来实现的,下面给出了部分常用的TCP/IP系统调用scoket创建套接字bind为套接字赋一个名字connect启动一个连接accept接受连接listen监听连接write/send发送信息read/recv接收信息close关闭套接字三、UNIX网络库例程的应用网络库例程的主要用途是确定和建立网络地址。在客户方与服务方进行通信前,在远程节点上确定一个服务需要进行多级映射。为便于使用,每个服务被指定一个名字,这个名字必须被翻译成网络地址,最后,该地址被用来确定一个物理位置和到服务的路径。可见,确定远程节点上的一个服务需要三级映射,这三级映射的具体实现随着网络结构不同而有所变化。UNIX网络库例程是C程序语言函数调用,它提供下列映射的标准例程主机名字到网络地址网络地址到网络号协议名字到协议号服务名字到端口号及服务器使用的适当协议1.映射主机名字例程gethostbynamne,gethostbyaddr,gethostent均可完成主机名字与地址映射,它们分别将主机名或节点地址映射成一个hostent结构structhostent{charh_name/正式主机名/charh_aliasea/别名表/inth_addrtype/主机的地址类型/inth_length/地址长度/charh_addr_list/地址表/defineh_addrh_addr_list0}2.映射网络名字getnetbyname,getnetbynumber,getnetent是分别用于映射网络名字的例程,使用这些例程,可将网络名映射到网络号,或把网络号映射到网络名,并返回一个netent结构structnetent{charn_name/正式的网络名/charn_aliasea/别名表/intn_addrtype/网络地址类型/unsignedlongn_net/网络号/}3.映射服务名字通过指定一个服务名和一个可选的合法协议,例程getservbyname,getservbyport,getservent映射服务名字到一个servent结构structservent{chars_name/正式的服务名/chars_aliasea/别名表/ints_port/服务驻留的端口号/chars_proto/所使用的协议/}四、文件传输程序的编制利用网络所提供的套接字接口和库例程,采用客户/服务器模式来编制文件传输程序。程序流程如下T8S09300.GIF图1在通信之前,要为服务分配端口地址,这个地址分配是在/etc/services文件中设置的。服务方进程启动后,它创建套接字,指定服务名和合法协议,并在指定端口地址上监听服务请求。客户方进程开始后,也要创建套接字,指定服务名和协议号,并启动一个与服务方的连接,连接成功后,则立刻开始数据传送,直到文件传送结束。五、结束语本文只是在多用户网络应用方面的一个初控,利用网络所提供的接口,我们可以在更深层次对其进行研究,开发出功能更强、更为灵活、适用的网络应用软件。参考文献1蔡传俊,UNIX/TCP/IP/NFS网络编程与应用开发。北京海洋出版社,19931。2魏军等,微机TCP/IP实用指南。北京北京科海培训中心,199210。
编号:201312172051532217    大小:9.43KB    格式:DOC    上传时间:2013-12-17
  【编辑】
2
关 键 词:
生活休闲 网络生活 精品文档 通信学论
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

当前资源信息

4.0
 
(2人评价)
浏览:7次
zhaozilong上传于2013-12-17

官方联系方式

客服手机:13961746681   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

相关资源

相关资源

相关搜索

生活休闲   网络生活   精品文档   通信学论  
关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5