欢迎来到天天文库
浏览记录
ID:34433416
大小:106.55 KB
页数:3页
时间:2019-03-06
《linux系统下的网络编程技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、维普资讯http://www.cqvip.com第28卷第6期应用科技V01.28.No.62001年6月AppliedScienceandTechnologyJur1.,2001文章编号:1009—671X(2001)06—0029—03Linux系统下的网络编程技术戴元军(哈尔滨工程大学计算机与信息科学系,黑龙江哈尔滨150001)摘要:舟绍了在Linux操作系统下Socket网络编程常用函数用法及编程过程,来实现客户机/服务器的弼络编程技术。①美量词:LinuxlSocket;客户机』服务器中田分类号:TP31文
2、献标识码:ANetworkProgrammingTechnologyinLinuxOperatingSystemDAIYklanJkln(Dept.ofComputerandInformationScience,HarbinEngineeringUniversity+Harbin150001,China)Abstract:'ThepaperintroducedtheusageofcommonsocketfunctionsandthenetworkprograminLinuxoperatingsysteminordert
3、oachievethenetworkprogramtechnologyofClient/Server。Keywords:Linux;Socket;Client/Server0引言Ljnux下的网络编程更易于实现。1Linux网络编程中常用库函数本文介绍了在Linux环境下的Socket编程常用函数的用法及Socket编程思想,以及客户机/服1)服务器的客户机首先要调用'socket()函务器模型的编程应注意的伺题及解决方法。数,建立套接字并指明台适的通讯协议。格式为Linux的许多特性有利于时络编程。首先intsock
4、et(intfamily,inttype,intpmtoc~);Linux系统拥有许多网络编程的库函数,可以方此函数为通信创建一个端口。若正常调用将便地实现客户机/服务器模型。其状Linux的进返回一个整型的文件描述符,错谩调用将返一1.程管理也符台服务器的工作原理,在运行的a)参数family指明套接字族,有两种选择:Linux的操作系统中,每一个进程都有一个创建AF.UNIX(UNIX内部协议族);它的父进程,而且它也能创建多个子进程。因此AF—INTE(Internet协议,TCP]IP编程取该在服务器端我们可以
5、用父进程去监听客户机的连值)。接请求,当有客户机的连接请求时,父进程建立一b)参数type指明的类型,有下面3个选择:个子进程去与客户机建立连接线路并与之通信,SOCK—STREAM(数据流套接字);而它本身可继续监听其它的客户机的连接请求,SOCK.DGRAM(数据报套接字);这样就可避免当有一个客户机与服务器建立连接SOCK—RAW(原始套接字)。后服务器就不能与其它客户机通信的问题。再参数type为SOCK—STREAM时,用于面向有,Linux秉承了UNIX韵设备无关性这一优秀连接的TCP协议;为SOCK.DG
6、RAM时用于无连特征,即它通过文件的描述符实现了统一的设备接的UDP协议;为SOCK—RAW时则使用的协议接口,网络的Socket数据传输是一种特殊的t/0,为IPScoket也是一种文件描述符。上面3个特性使得c)参数protocal为套接字所用协议,一般为①墨暑翟晕:o_),男.黑龙江齐齐哈求人,暗尔滨工程,=学计算机与信息科学系硕士生,主要研究方向:智能控制与智翡机器人维普资讯http://www.cqvip.com·30·应用科技第28卷0.dress,intaddress-len);2)一旦Socket调用成
7、功并返回一个文件描当有客户机调用connect()发出连接请求时,述符,则应将该Socket与服务器本机上的一个端服务器用此函数初始化这个连接。正常调用时返口相关联,就可以在该端目监听服务请求该函回与客户机通信新的文件描述符,来供这个新连数只用于服务器端程序,而客户端无须调用此函接来使用。出错返回为一1.参数sockfd为socket数。其格式为调用返回的文件描述符;*address是指向sockad—intbind(intsockfd,conststructsockaddr*dr-in变量的指针,该变量用来存放客户机
8、的信addreSS,size—taddress—len);息.当与客户机连接时,客户机的地址与端口将填此函数的3个参数分别为到此处。Address-len是一个指向值为sizeofa)sockfd为SOcket调用返回的文件描述符;(strtictsoekaddr-in)的整型指针变量。b)*address是指向包含有本机IP地址
此文档下载收益归作者所有