相关服务

  • 《现代电子技术》2006年第24期摘录:王兴顺等:一种网络文1牛僮堕直

如发现有乱码,请点击下面链接浏览原文
正文摘录:

王兴顺等:一种网络文1牛僮堕直洼塑拯边持,接收进程必须重新定序,消除重复并提供可靠保证,他适用于单个报文的可靠性不重要的场合。原始套接字使用原始套接字,程序员能访问低层通信协议(如IP),他不是为一般用户设置的,而是为了开发新的通信协议,或是为了访问现有协议中较隐蔽功能而设置的。2.2套接字的调用TCP/IP的系统调用主要是通过对套接字的操作来实现的,下面给出部分常用的TCP/IP系统调用:socket:创建套接字;bind:为套接字赋一个名字;connect:启动一个连接accept:接受连接;listen:监听连接;write/send:发送信息;read/recv:接收信息;close:关闭套接字。3UNIX网络库例程的应用网络库例程的主要用途是确定和建立网络地址。在客户方与服务方进行通信前,在远程节点上确定一个服务需要进行多级映射。为便于使用,每个服务被指定一个名字,这个名字必须被翻译成网络地址,最后,该地址被用来确定一个物理位置和到服务的路径。可见,确定远程节点上的一个服务需要三级映射,这三级映射的具体实现随着网络结构不同而有所变化。UNIX网络库例程是C程序语言函数调用,他提供下列映射的标准例程:(1)主机名字到网络地址;(2)网络地址到网络号;(3)协议名字到协议号;(4)服务名字到端El号及服务器使用的适当协议。3.1映射主机名字例程gethostbynamne,gethostbyaddr,gethostent均可完成主机名字与地址映射,他们分别将主机名或节点地址映射成一个hostent结构:structhostent(char*h—name;/*正式主机名*/char**h—aliasea;/*别名表*/imh—addrtype;/*主机的地址类型*jimh—length;/*地址长度*/char**h—addr—list;/*地址表*/#defineh—addrh—addr—list[O]、3.2映射网络名字getnetbyname,getnetbynumber,getnetent是分别用于映射网络名字的例程,使用这些例程,可将网络名映射到网络号,或把网络号映射到网络名,并返回一个netent结构:char*n—name0char**naliasea:intnaddrtype;unsignedlongn—net;}/*正式的网络名*//*别名表*//*网络地址类型*/h飘%号*i3.3映射服务名字通过指定一个服务名和一个可选的合法协议,例程getservbyname,getservbyport,getservent映射服务名字到一个servent结构:char*Sname:char**saliasea:mts—port;char*s—proto;)/*正式的服务名*//*别名表*//*服务驻留的端口号*//*所使用的协议*/4文件传输程序的编制利用网络所提供的套接字接El和库例程,采用客户/服务器模式来编制文件传输程序。程序流程如下:@@T8S09300.GIF;图1@@在通信之前,要为服务分配端口地址,这个地址分配是在/etc/services文件中设置的。服务方进程启动后,他创建套接字,指定服务名和合法协议,并在指定端口地址上监听服务请求。客户方进程开始后,也要创建套接字,指定服务名和协议号,并启动一个与服务方的连接,连接成功后,则立刻开始数据传送,直到文件传送结束。5结语本文只是在多用户网络应用方面的一个初控,利用网络所提供的接口,可以在更深层次对其进行研究,开发出功能更强、更为灵活、适用的网络应用软件。参考文献[1]张世永.网络安全原理与应用[M].北京:科学出版社,2003.E2]蔡传俊.uNIx/TcP/IP/NFs网络编程与应用开发EM].北京:海洋出版社,1993.E3]魏军.微机TCP/IP实用指南[M].北京:科海培训中心,1992.作者简介王兴顺男,1962年出生,陕西大荔人,讲师。主要从事数学应用方向的教学与研究。

阅读此文(图):   点击此处在线翻阅