资源描述:
《TCP_IP协议下网络编程技术及其实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第32卷第3期航空计算技术Vol.32No.32002年9月AeronauticalComputerTechniqueSep.2002文章编号:1671-654(2002)03-0122-03TCP/IP协议下网络编程技术及其实现周炎涛,李立明(湖南大学,湖南长沙410012)摘要:建立在传输层协议上的抽象数行交换的[2]。据结构socket作为网络中数据交换的排抽象地说,socket是一种双向通信接口;实际队点,是TCP/IP网络最为通用的API。上,socket是一种数据结构,用以创建一条在没有
2、互文章在介绍TCP协议客户端和服务器联的进程间发送、接受消息的通道(连接点)。一对端进程通信流程和具体实现的基础上,互联的socket提供通信接口,使两端可以传输数据。以Delphi环境为编程语言说明了在与文件操作一样,每个打开的socket都对应一个Windows下使用socket进行网络编程的socket描述符整数,它指向这个socket数据结构。方法和特点。基于事务处理的socket网络编程技术可应用在分布式系统进程通信中,是Internet上进行应用开发最为socket是建立在传输层协议(主
3、要是TCP和通用的API。UDP)上的一种套接字规范,最初是由美国加州[3]关键词:套接字;Delphi;TCP/IP协议;网络编程Berkley大学提出,为Unix操作系统开发的网络中图分类号:TN915.04通信接口,它定义两台计算机间进行通信的规范(也文献标识码:A是一种编程规范),如果说两台计算机是利用一个“通道”进行通信,那么这个“通道”的两端就是两个前言套接字。socket屏蔽了底层通信软件和具体操作系现代操作系统中,用户程序以进程方式共享地统的差异,使得任何两台安装了TCP协议软件和实
4、占用系统资源,系统中每个进程在自己的地址范围现了socket规范的计算机之间的通信成为可能。内以线程为执行单位运行。为保证相互通信的进程socket接口是TCP/IP网络最为通用的API,也是在之间既互不干扰、又协调一致地工作,对本机进程之Internet上进行应用开发最为通用的API。间的通信,操作系统提供如UnixBSD的管道socket是网络节点上可访问的逻辑实体,由在(pipe)、命名管道(namedpipe)FIFO和软中断信号,给定节点上惟一的socket号标识。一个分布式系统以及Uni
5、xSystemV的消息(message)、共享存储区中,socket网间地址包含socket号、(socket所在)节(sharedmemory)和信号量等进程间通信IPC机点标识符以及(节点所在)网络号。OSI中,网络层制[1]。对于分布式系统中的网间进程,计算机不共及其以下各层又称通信子网,只提供点到点通信,没享存储器,为提供进程间通信的一般方法和使用复有程序和进程的概念,而传输层实现的是“端-端”杂协议、实现不同主机间通信,通常使用不同的通信通信,引进网间进程通信概念,提供了不同连接服务原语,
6、通过数据的交换来实现。进程间通信原语集方式。socket的出现使程序员能非常方便地访问分为①基于消息传递;②基于远程过程调用RPC;TCP/IP协议。③基于事务处理。对于基于事务处理的分布式系统,消息是在套接字socket(消息源和目标)之间进1socket使用收稿日期:2002-04-20作者简介:周炎涛(1963-),男,湖南常德人,高级工程师,主要从事计算机科研与教学。2002年9月周炎涛等:TCP/IP协议下网络编程技术及其实现123进程间要进行通信,就象先装上电话一样,要建到达对方。立一个
7、socket,socket()命令就完成这项工作。socket有几种通信类型,通过选择socket的地址格式来完成Unix域和Internet域的设置,如同电话有音频和脉冲两种形式一样,这两个重要的选项分别是AF-UNIX和AF-INET:AF-UNIX就象UNIX路径名一样识别socket,这种形式对于在同一台机器上的IPC很有用;而AF-INET使用象202.103.96.68的IP地址格式。对TCP/IP协议网络应使用AF-INET方式。使用socket()必须提供的参数还有socket的类型
8、。两种基本的类型是SOCK-STREAM和SOCK-DGRAM。SOCK-STREAM表明数据象字符流(如图1面向连接时客户端和服务器端通信流程电话交谈)一样通过socket;而SOCK-DGRAM则表明数据是数据报datagrams的形式(如寄信)。此外具体实现时,如图2所示,服务器端进程首先在还有rawsocket提供给那些有超级用户存取权限、约定的端口号处联编一个监听socket,负责监听客想设计和实现自己的网络协议的用户使用。本文以户端进程的请求,用accep