欢迎来到天天文库
浏览记录
ID:51503401
大小:151.44 KB
页数:2页
时间:2020-03-25
《基于嵌入式Linux系统的网络编程技术.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、科技论坛中国科技信息2006年第5期CHINASCIENCEANDTECHNOLOGYINFORMATIONMar.2006基于嵌入式Linux系统的网络编程技术NetworkProgrammingTechnologyinEmbeddedLinux俞冬丽金华职业技术学院321017摘要:本文详细的介绍了基于Linux系统的嵌入式ARM板与PC机之间的网络通讯技术,并结合实例阐述了Linux操作系统下Socket套接字常用函数的用法,实现了客户机/服务器模型的网络编程。关键词:Linux;Socket;嵌入式;
2、客户机/服务器Abstract:ThispaperintroducesthetechnologyofnetworkcommunicationbetweenthePCandAT91RM9200,whichwasinstalledintheembeddedLinux.ItalsoillustratestheusageofcommonsocketfunctionsintheLinuxoperatingsystem,andachievesthetechnologyofprogrammingwiththemodelof
3、Client/Serverinthenetwork.Keywords:Linux;Socket;Embedded;Client/Server引言常在一个众所周知的地址监听对服务的请求,调用。其格式为:intbind(intsockfd,const源代码开放的嵌入式Linux操作系统具备稳也就使说,服务进程一直处于休眠状态,直到structsockaddr*address,size_taddrlen);定、高效、易定制、易裁减、硬件支持广泛等特一个客户对这个服务的地址提出了连接请求。此函数三个参数含义如下:点,
4、逐渐成为嵌入式操作系统的研究重点。嵌入式在这个时候,服务程序被激活,它将创建出一a)sockfd即为socket函数返回的文件描述系统中的设备与PC之间经常需要交换大量可靠个子进程为客户提供服务。而父进程继续在原符;的数据,而且必须达到一定的传输速率。在本系地址监听。在子进程完成了相应的操作后,服b)address为指向sockaddr类型的指针,它统中PC和ARM控制板之间传输的数据量有务器关闭此连接套接字,并结束此子进程。保存了套接字的地址(即端口和IP地址)信1GB,而且要求传输速率大于1Mbytes/
5、s。由于套接字有三种类型:数据流套接字、数据包息;sockaddr类型的指针与sockaddr_in类型的网口较之串口、并口有数据传输速率快、准确性套接字和原始套接字。指针可以互换。Sockaddr_in类型定义如下:高等特性,因此,网络编程在实际中得到了大量数据流套接字定义了一种可靠的面向连接的structsockaddr_in的应用。利用网口进行数据交换还可以进行远程服务,实现了无差错无重复的顺序数据传输。数{shortintsin_family;//地址族控制。在本系统中用的ARM板是傅立叶公司的据包套
6、接字定义了一种无连接的服务,数据通过unsignedshortintsin_port;//端口号AT91RM9200评估板[1]。其CPU为ARM920T,相互独立的报文进行传输,使无序的,并且不保structin_addrsin_addr;//IP地址系统应用内存为32M,flash为16M,外扩网口一证可靠,无差错。原始套接字允许对底层协议如IPunsignedcharsin_zero[8];//填充0,以保个,适应10M/100M以太网。串口两个,通讯速或ICMP直接访问,主要用于新的网络协议实现持与s
7、tructsockaddr同样大小度可以达到115200bit/s。普通I/O口122个。装的测试。此处介绍的是用的最为广泛的面向连接};载入板子的操作系统为RedHatlinux。网口通讯的数据流套接字。其工作过程如下:sin_family为套接字的协议族地址类型,如由于其快速性、高可靠性也逐渐成为系统与外界服务器通过调用socket函数创建一个用于通TCP/IP协议族为AF_INET;sin_port和交换信息的主要接口。对于嵌入式Linux要用网讯的套接字。然后调用bind()将该套接字和本sin_ad
8、dr为端口号和IP地址。对于端口号的分口,需要在编译内核的时候选择支持以太网的地网络地址联系在一起,再调用listen函数使该套配,小于1024的所有端口是保留给系统使用TCP/IP和UDP/IP协议栈,即在ARM板上的接字成为一个监听套接字,做好监听准备,并规定它的,普通进程应当使用大于1024且小于65536Linux内核里要有TCP/IP和UDP/IP协议栈支的请求队列的长度。之后就调用acc
此文档下载收益归作者所有