Linux环境下基于Socket的网络通信研究
本文关键词:Linux环境下基于Socket的网络通信研究,由笔耕文化传播整理发布。
珞SN1∞9—3咐4
&拥珥,ferE—mail:inf0@cccc.net.cnJ(hD刚e咖and『ec『帆咖g',电脯知识与技术
20l1.http:/,1n州.dnzs.net.cnV出.7,No.26'S印妇nbefTel:+8“551_56909635690964
Linux环境下基于Socket的网络通信研究
郝宝芳.袁和刚
(宁夏电力公司中卫供电局,宁夏中卫755000)
摘要:Lillux作为一种更为自由的开源操作系统,随着信息技术的不断发展。也在不断的推广过程中,在Linu】(环境下基于Socket的网络通信也成为了研究的热点,由于Socket不单是用于单机进程之间的通信.而且也能够适用于网络通信,在L访ux环境下具有很强的适用性。该文研究了Socket接口以及其在mll】【环境下的通信网络模型。希望通过本文的研究。能够为Socket在Lillux环境下的应用提供一定的参考和借鉴。
关键词:Linll)c环境;Socket;网络通信
中图分类号:TP316文献标识码:A
on文章编号:1伽19—3044(2011)2“6347-02LinuxEnviron埘忙眦Based
HAoBao一丘ng,YUANS胁ketC咖municatio璐ResearchNetworkHe一鲫g
and叩ensource叩eradngsystem,、^,ithmecondnuomdevelopmentofiIlfonlladontecllIloIogy,hasalso
SocketnetworkcornrlluIlicadonhaSbecomeahotresearch,notonlybe—(zhoI唔weic时PowersupplyBureau,Nir够【iaPow盱compaIIy,zhongwei755000,c11iI埘Ab渤氇ct:LirIm【噩amore丘eebeen出epromodonproc器siIltIle“n山cenvironrrlentba驼don
callsesocketis11sedforco蛐Tlullicadonbetweens访gleProcesses’butalSo
strong叩plicabilit’r.TllispaperstudiestheSocketi11cel6ce
dlroughd】_isi11tIleLinll)【en咖啪entaIldt0canbe叩pliedtone附ork廿a伍c,iflaLillu】【env的啪ent埘thmodel.Hopechatitscommunjc撕011sne咖orkstudy,canSocket叩phcadonsi11aLinuxeIlviroIunentpro、rideare南renceandlearnillg.
1【eywords:lj玎ux豇Ivironmem;socket;networkcomm砌cation
在当今社会,网络已经成为了我们生活、生产中必不可少的一个要素。因此。对于任何一个操作系统而言,对于网络的支持都是至关重要的。UnIl】c操作系统也不例外。它能够兼容多种网络协议,而且本身的安全性更高,因此被广泛的用在多个领域,基于“nux环境开发更为高效的网络通信程序也成为了一个热点。Socket作为应用层与传输层之间的一个非常重要的编程接口,能够提供访问下层通信协议的数据结构,同时,在Linux系统环境之下,应用程序要访问下层协议,唯一的途径也是采用Socket接口。从这个角度来看,本文研究“nux环境下基于S0cke£的网络通信具有非常重要的现实意义。
SOCKET是美国加州Berkley大学提出的,是以传输层协议为基础的一种套接字规范,从网络整体来看,这是一个虚拟的不同主机应用程序之间的一个借口,具有跨平台的特征;从程序员的角度来说,这是一个连接网络技术设备和应用程序的一个接口。SOCKET是专门为UNⅨ操作系统所开发的,对两台计算机之间的通信规范做出定义,,通俗点讲,如果说两台计算机之间进行通信的途径是同一个通道。那么该通道的两个端口就是套接字。底层通信软件和具体的操作系统之间的差异在SOCl凹中被屏蔽掉了,S眦ket接口概述这样就保证了只要两台计算机安装了TCP协议软件并且实现了SOCKET规范。那么其相互之间进行通信的可能性。作为SOCKET接口的API,无论是在TcP或IP网络中.还是在互联网中都具有很强的通用性。1
当前的网络应用中,Cliem或者server这两种模式是进行通信的双方使用频率最高的交互模式,在通常情况下,监听或者连接分别是客户以及服务器模式所采用的实现方式。借助服务器端的应用程序在一个端口可以对发送至服务器的请求进行监听,换句话说,一般情况下,服务器的进程始终是出于休眠状态的,除非有客户向该服务器发送了一个连接的请求,在服务器一个端口接收到来自于客户的请求时,服务器线程就会从休眠状态转为工作状态,根据客户的具体请求做出相应的反应。提供客户所需要的服务。
socket接口是使用标准系统文件描述符与其他程序进行通信的一种非常重要的方式。它的工作方式是由一个套接字描述作为一个通信连接的端口,不同的端口之间可以通过套接字来完成信息的发送和接收。上文已经描述了“nlIx系统能够支持多种网络协议.而由于不同的协议其工作的方式和地址格式都不相同.而对于不同的网络
协议而言,使用用一个网络地址的格式,就可以称之为一个协议地址族.表l是
Un畎支持的常见的网络协议地址族。
在Unux环境下.能够将套接字地址族抽象成一个统一的套接字socket接AFIPX
AFNET
AFAX25
AF表l套接字地址族NovelIpX协议TcP/口协议Ax.25协议套接字Un政内部套接字口.在该接口的支持下能够完成应用程序的接口的开发。具体的,在Lin呱环境下的Socket接口主要有如下几种:1)SOCK_sTREAM,数据流套接口;2)SOCK—DGRAM,数据报套接口;3)SOCK』渔W,原始套接口。UNⅨ
收稿日期:2011—06—19
作者介绍:都宝芳(1982一),女,山东德州人.工程师,网信班班长。双学士学位,研究方向为信息网络。
本】I兰目责任编辑:冯蕾???-?-一?一培蠢讯曩安垒--6347
万方数据
c[拥Dufer肋刚e妒a删丁e叻加切电奠知识与技术
2第7卷第26期(2011年9月)Socket网络通信模型
LiIl呶环境下基于S∞ket的网络通信模型
从目前来看,主流的网络通信模型主要有两种,其一是C/S架构及,客户端,服务端架构;其二是B/s架构,及浏览器,服务端架2.1构。本文研究的是客户端,服务端架构,在该架构下的S0cket网络通信模型需要完成客户程序编写和服务程序编写。
客户端程序的编写步骤如下:创建Socket接口一与远程服务程序连接一读写数据一终止连接。
服务程序的编写步骤如下:创建Socket接口一绑定bind接口一设置S0cket接口为监听模式—+接受请求一读写数据一终止连接。
2.2socket函数的调用
在创建Socket步骤,应用程序在使用Socket接口之前,首先需要调用一个套接字也就是Socket函数.系统在调用S0cket函数的时候。应该向程序提供创建Socket的手段,如:
intsocket(intdomain,inttype,impHnoc01);
在上述命令中,调用的气个参数分别是domain,type以及pmtocol。
在指定地址步骤,需要将Socket地址与所创建的socket字号联系在一起。可以通过如下命令实现:
intbind(intsoc啪,8tmctsockaddpmv—addr,intaddrlen);
在建立socket连接步骤,可以通过intconnect(intsockfd,stmctsockadd—se“-addr,intaddden)实现;在监听连接步骤,可以通过intlisten(intsockfd,intbacklog)实现,通过该命令,服务进程能够监听来自客户进程的所有的请求,如果请求的队列长度大于命令中的backlog,则服务不会予以相应;在数据传输步骤可以通过int跎nd以及int陀cv两个命令分别调取sockfd,constvoid+msg,len以及n职s函数实现,上述两个函数的主要作用在于完成流失Socket的通信;在关闭Socket步骤,可以通过intclose命令调取socket文件描述符sockfd,以完成整个客户进程以及服务进程的通信。
3结束语
在“nux系统环境之下,应用程序要与下层协议完成通信,需要借助Socket接口。本文研究了S0cket接口的基本理论,介绍了在Linux环境下的数据流套接口。数据报套接口以及原始套接口。在此基础上文章介绍了Ⅱnu】【环境下的S0cket网络通信模型。以客户端/服务端架构模型为例研究了该模型实现过程中的S0cket函数的调用。希望通过本文的研究能够为S0cket接口在Unux系统环境下的网络通信程序的设计和实现提供一定的参考和借鉴。
参考文献:
【l】孔明,艾树峰,杜辉.基于’rCP厂【P的嵌入式WebServer网络测控系统设计【J】.电讯技术,2005(5).
【2】吴涛,黄心汉,黄振宇.基于Linux的多移动机器人通信的原理与实现方法[J】.电工技术,2003(12).
【3】刘煜禹,姜国兴.基于Socket的多媒体视频会议系统【J1.重庆工学院学报:自然科学版,2007(6).
【4】莫足琴,欧阳艳阶,马康.基于javasocket多客户端并发通信聊天程序的设计与实现【J】.电脑知识与技术,2008(20).
【5】周坤,傅德胜.基于WindowsSocket的网络数据传输及其安全叨.计算机工程与设计,2007(22).
6348??—络矗讯夏安全-?--一-??本栏目责任编辑:冯蕾万方数据
五星文库wxphp.com包含总结汇报、办公文档、旅游景点、资格考试、党团工作、工作范文、文档下载、word文档、出国留学以及Linux环境下基于Socket的网络通信研究_图文等内容。
本文关键词:Linux环境下基于Socket的网络通信研究,由笔耕文化传播整理发布。
本文编号:141649
本文链接:https://www.wllwen.com/kejilunwen/wltx/141649.html