首页 Linux环境下基于Socket的网络通信研究

Linux环境下基于Socket的网络通信研究

举报
开通vip

Linux环境下基于Socket的网络通信研究Linux环境下基于Socket的网络通信研究 Linux环境下基于Socket的网络通信研究 2012-07-13################2012-07-13########2012-07-13######## 郝宝芳,袁和刚 ,宁夏电力公司 中卫供电局,宁夏 中卫 755000, 摘要,Linux 作为一种更为自由的开源操作系统 ,随着信息技术的不断发 展 ,也在不断的推广过程中 ,在 Linux 环 境 下 基 于 Socket的 网络通信也成为了研究的热 点 ,由 于 Socket不 单是用于单机...

Linux环境下基于Socket的网络通信研究
Linux环境下基于Socket的网络通信研究 Linux环境下基于Socket的网络通信研究 2012-07-13################2012-07-13########2012-07-13######## 郝宝芳,袁和刚 ,宁夏电力公司 中卫供电局,宁夏 中卫 755000, 摘要,Linux 作为一种更为自由的开源操作系统 ,随着信息技术的不断发 展 ,也在不断的推广过程中 ,在 Linux 环 境 下 基 于 Socket的 网络通信也成为了研究的热 点 ,由 于 Socket不 单是用于单机进程之间的通信 ,而且也能够适用于网络通信 ,在 Linux 环 境 下 具 有 很 强 的 适 用 性 。该 文 研 究 了 Socket接 口 以 及 其 在 Linux 环境下的通信网络模型 。希望通 过本文的研究 ,能 够 为 Socket在 Linux 环 境 下 的用提供一定的考和借 。 应参鉴 关键词,Linux 环 境 ,Socke,t网 络 通 信 文献标识码,A 文章编号,1009-3044(2011)26-6347-02 中图分类号,TP316 Linux Environment Basedon Socket Communications ResearchNetwork HAO Bao-fang,YUAN He-gang (ZhongweiCity Power Supply Bureau, Ningxia Power Company, Zhongwei 755000, China) Abstract: Linux as a more free and open source operating withsystem, the continuous developmentof information technology, has also been the promotionprocess in the Linux environment basedon Socket network communicationhas become hot a research, not only be- cause Socket is usedfor communication between singleprocesses, but also can be applied to network traffic,in a Linux environmentwith strong applicability. This paper studiesthe Socket interfacein the Linux environment and its communications network Hope model. that through this study, can Socket applicationsin a Linux environmentto provide a referencelearning. and Key words: linux environment; socket;network communication 在当今社会,网络已经成为了我们生活、生产中必不可少的一个要素。 因此,对于任何一个操作系统而言,对于网络的支持都是 。 Linux 操作系统也不例外,它能够兼容多种网络协议,而且本身的安全性更高,因此被广泛的用在多个领域,基于 Linux 至关重要的 。Socket ,环境开发更为高效的网络通信程序也成为了一个热点作为应用层与传输层之间的一个非常重要的编程接口能够提供访问 ,同时,在 Linux 系统环境之下,应用程序要访问下层协议,唯一的途径也是采用 Socket接口 。 从这个角度 下层通信协议的数据结构 ,本文研究 Linux 环境下基于 Socket的网络通信具有非常重要的现实意 义。 来看 SOCKET是美国加 州 Berkley 大学提出的,是以传输层协议为基础的一种套接字规范,从网络整体来看,这是一个虚拟的不同主 , 具有跨平台的特征, 从程序员的角度来说, 这是一个连接网络技术设备和应用程序的一个接口 。 机应用程序之间的一个借口 SOCKET是专门 为 UNIX 操作系统所开发的,对两台计算机之间的通信规范做出定义,通俗点讲,如果说两台计算机之间进行通信 ,那么该通道的两个端口就是套接字。 底层通信软件和具体的操作系统之间的差异在 SOCKET中被屏蔽掉了 , 的途径是同一个通道 这样就保证了只要两台计算机安装了 TCP协议软件并且 实现了 SOCKET ,。 作为 SOCKET 规范那么其相互之间进行通信的可能性接口的 API,无论是在 TCP或 IP 网络中,还是在互联网中都具有很强的通用性。 1 Socket接口概 述 当前的网络应用中,Client 或者 Server这两种模式是进行通信的双方使 用频率最高的交互模式,在通常情况下,监听或者连接 。 ,借助服务器端的应用程序在一个端口可以对发送至服务器的请求进行监听换句 分别是客户以及服务器模式所采用的实现方式 ,一般情况下,服务器的进程始终是出于休眠状态的,除非有客户向该服务器发送了一个连接的请求,在服务器一个端口接收 话说 ,, ,服务器线程就会从休眠状态转为工作状态根据客户的具体请求做出相应的反应提供客户所需要的服 到来自于客户的请求时 。 务 Socket接口是使用标准系统文件描述符与其他程序进行通信的一种非常重要的方 式。 它的工作方式是由一个套接字描述作为 ,不同的端口之间可以通过套接字来完成信息的发送和接收。 上文已经描述了 Linux 系统能够支持多种网络协 一个通信连接的端口,而由于不同的协议其工作的方式和地址格式都不相同 ,而对于不同的网络 议 协议而言,使用用一个网络地址的格式,就可以称之为一个协议地址族,表 1 是 1 套接字地址族 表 Linux支持的常见的网络协议地址族 。 在 Linux 环境下,能够将套接字地址族抽象成一个统一的套接字 Socket接 ,在该接口的支持下能够完成应用程序的接口的开发。 具体的,在 Linux 环境 口 的 Socket接口主要有如下几 种 ,1) SOCK,STREAM, 数 据 流 套 接 口 ,2) 下 SOCK,DGRAM,数据报套接口,3) SOCK,RAW,原始套接口。 收稿日期,20110619--2012-07-13################2012-07-13########2012-07-13######## 2 Socket网络通信模 型 2.1 Linux 环境下基于 Socket 的网络通信模型 ,, C/S ,/, B/S ,/从目前来看主流的网络通信模型主要有两种其一是架构及客户端服务端架构其二是架构及浏览器服务端架 。 本文研究的是客户端/服务端架构,在该架构下的 Socket网络通信模型需要完成客户程序编写和服务程序编 写。 构 客户端程序的编写步骤如下,创建 Socket接 口?与远程服务程序连接?读写数据?终止连接。 服务程序的编写步骤如下, 创建 Socket接 口?绑定 bind 接口?设置 Socket接口为监听模 式?接受请求?读写数据?终止连 。 接 2.2 Socket 函数的调用 在创建 Socket步 骤,应用程序在使用 Socket接口之 前,首先需要调用一个套接字也就是 Socket函 数,系统在调用 Socket函 数 ,应该向程序提供创建 Socket的手段 ,如, 的时候 int socke,tint domain,int type,int protoco,l, 在上述命令中,调用的三个参数分别是 domain,type 以及 protoco。l 在指定地址步骤,需要将 Socket地址与所创建 的 Socket字号联系在一起 ,可以通过如下命令实现, int bind,int sockfd,struct sockaddr*m,yaddr,int addrlen,, 在建立 Socket连接步骤 ,可以通过 int connect, int sockfd,struct sockaddr*ser,addvr,int addrlen,实现,在监听连接步骤,可以通 过 int listen,int sockfd,int backlog,实现,通过该命令,服务进程能够监听来自客户进程的所有的请求,如果请求的队列长度大于命 令中的 backlog, 则服务不会予以相应, 在数据传输步骤可以通过 int send以 及 int recv两个命令分别调 取 sockfd,const void *msg, len 以及 flags函数实 现,上述两个函数的主要作用在于完成流失 Socket的通 信,在关闭 Socket步骤 ,可以通过 int close命令调 取 socket文件描述 符 sockfd,以完成整个客户进程以及服务进程的通信。 3 结束语 在 Linux 系统环境之下,应用程序要与下层协议完成通信,需要借助 Socket接 口,本文研究了 Socket接口的基本理 论,介绍了 在 Linux 环境下的数据流套接口,数据报套接口以及原始套接口。 在此基础上文章介绍了 Linux 环境下的 Socket网络通信模型 ,以 /服务端架构模型为例研究了该模型实现过程中的 Socket函数的调用 。 希望通过本文的研究能够为 Socket接口 在 Linux 系统 客户端。 环境下的网络通信程序的设计和实现提供一定的参考和借鉴 参考文献, [1] 孔明,艾树峰,杜辉.基于 TCP/IP的嵌入 式 WebServer网络测控系统设 计[J].电讯技术,2005(5). [2] 吴涛,黄心汉,黄振宇.基于 Linux的多移动机器人通信的原理与实现方 法[J].电工技术,2003(12). [3] 刘煜禹,姜国兴.基于 Socket的多媒体视频会议系 统[J].重庆工学院学报:自然科学版,2007(6). [4] 莫足琴,欧阳艳阶,马康.基于 Java Socket多客户端并发通信聊天程序的设计与实 现[J].电脑知识与技术,2008(20). [5] 周坤,傅德胜.基于 Windows Socket的网络数据传输及其安 全[J].计算机工程与设计,2007(22). 本栏目责任编辑,冯蕾网络通讯及安全 2012-07-13################2012-07-13###2#0#1#2#-#07-13######## Your requestcould not be processed becauseof a configurationerror: "Could not connect to LDAPserver." For assistance,contact your network support team.
本文档为【Linux环境下基于Socket的网络通信研究】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_037433
暂无简介~
格式:doc
大小:25KB
软件:Word
页数:0
分类:
上传时间:2017-09-26
浏览量:19