预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

. 第19卷第3期齐齐哈尔大学学报Vol19,No3 ., 203年9月JournalofQiqiharUniversitySep2(X)3 基于TCP/IP协议关于SOCKET.通信程序的研究 刘艳菊’张宏烈2 . ,. (l齐齐哈尔大学计算中心齐齐哈尔1610。;2齐齐哈尔大学计算机系,齐齐哈尔16l0(巧) 摘要:本文详细阐述了TCP月P协议下通信程序的工作原理和开发过程,同时,介绍了SOCKET通信程序的编制 过程,并结合实例进行论述。 关键词:SOCKET(套接字);网络通信;TCPlP 中图分类号:TN915.04文献标识码:A文章编号:l07一984X(2o3)03一的51刁3 1TC即P协议 。 TC即P互联网协议族在全世界范围内已经成为开放系统耳联的标准Tc肌P协议模型将网络划分为4 ,、、, 个层次从下至上分别为网络接口层IP层TCP层和应用层。从应用层角度来看它可以利用它下面几 ,, 层提供的服务进行通信。数据通信时总是把要传送的数据分割为许多较小的数据单元进行传输每一单 “”。,“”,, 元上都标有表示目的的地址在IP层这个地址是以目的IP地址的形式出现的在TCP层这个 “”。。 地址是以目的端口的形式出现的端口和目的IP组合在一块就唯一地确定了通信线路的一端IP地 , 址和端口号组合在一起就构成了套接字(SOCKET)基于套接字(SOCKET)的通信程序目前得到了广泛 。 的应用 2UNIX进程通信:SOCKET界面 ,。 SoCKET编程界面由UMx(LINux是uMX的新版本)首先提出目的是解决网间网进程通信问题 ,。 UNIX对进程通信问题的全部解答便构成了SOCKET机制的全部内容SOCKET是面向客户一服务器模 ,。, 型而设计的针对客户和服务器程序提供不同的SOCKET系统调用客户机随申请一个SOCKET系统为 ,。 之分配一个SOC“T号;服务器拥有全局公认的s0CKET任何客户都可以向它发出连接请求和信息请求 ,。 无论SOCKET的内部机制如何它提供给应用程序员的最终界面是一组系统调用下面介绍利用SOCKET 编制程序常用的系统调用: l)创建soe跳下一SoeKET() ,。 应用程序在使用SOCKET之前首先必须拥有一个SOC跳T系统调用SOCKET()向应用程序提供 。 创建SOCKET的手段SOCKET()的调用格式如下: ,, SOCKETID=SOCKET(AFTYPEPROTOCOL) · ,。。 返回值是一个整数即SOCKET号创建一个SOCKET实际上是向系统申请一个属于自己的SOCKET号 2)绑定本地地址一BIND()系统调用 , BIND()将本地SOCKET地址(包括本地主机地址和本地端口)与所创建的SOCKET号联系起来即 ,, 将本地SOCKET地址赋予SOCKET一指定本地半相关的作用相当于给SOCKET命名其调用格式为: ,, BIND(SOCKIDLOCALADDADDLEN) 3)建立SOCKET连接一CONNECT()与ACCE叮()系统调用 收稿日期:203一03一刊〕9 ,,, 作者简介:刘艳菊,女1974年生,学士助教主要从事计算机教育和研究工作。 齐齐哈尔大学学报203年 。 CONNECT()用于建立连接这里的连接有两层含义:第一是指两个SOCKET之间的沟通;第二是指 传输层连接,其调用格式如下: ,, CONNECT(SOCKIDDESTADDRADD比N) , ACCE盯()用于面向连接的服务器其调用格式如下: ,, SOCK=ACCE盯(SOCKIDCLIENTADDRPADDR比N) ,。 cONNEcT()调用主要是为面向连接的客户设计的ACCEPr()则完全是面向连接的服务器而设计 , 客户调用CONNECT()指定相关的最后两元,服务器调用ACCE盯()对此予以承认则完整的相关便建 立起来。 4)L份花N()调用 ,, Ll引TN()调用用于面向连接服务器表明它愿意接收连接。LISTEN()在ACC日叮()之前调用 格式为: , LISTEN(SOC粗DQUE比N) , 5)发送数据一WRI几()sEND() ,。 一旦成功地建立了SOCKET数据收发是相当简单的调用格式分别为: ,, WRITE(SOCKIDBUFBUFF比N):缓冲发送 ,,., SEND(SOCUDBUFFBUFFLENFLAGS):可控缓冲发送 , 6)接收数据‘池AD()REcv() 接收数据系统调用与发送数据系统是一一对应的。 3编程实例 。, 下面是一个利用SOCKET实现通信的聊天程序在LINUX环境下经过严格调试编程通过了CHAT.C ,。 服务器程序客户端与其类