嵌入式Linux下基于socket网络通信的实现

来源 :教育教学论坛 | 被引量 : 0次 | 上传用户:lvlianpeng2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着嵌入式技术的发展及其在高端产品中的应用,网络通信已成为嵌入式产品开发的必然需求。基于嵌入式Linux操作系统开发高性能的网络通信程序是充分发挥Linux网络特性的一个关键因素。通过对socket原理的研究与分析,设计了嵌入式系统基于数据流的网络通信过程,并给出了详细的实验过程和实验结果。该系统的实现对其他类似系统具有一定的参考和借鉴作用及较好的推广作用。
  关键词:套接字;嵌入式Linux;网络通信;TCP/IP协议
  中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)30-0274-02
  一、引言
  随着数字信息技术和网络技术的高速发展,嵌入式技术已经广泛应用到各个领域、各类产业以及人们的日常生活等各方面,成为引人瞩目的热点。为适应嵌入式和网络应用需求,标准的一种或多种网络通信接口成为嵌入式系统的必备需求,需要TCP/IP协议支持。而socket是TCP/IP网络最为通用的API,计算机可以通过这个端口与任何具有socket接口的设备通信。
  二、socket简介
  TCP/IP是一组支持网络通信的协议系统,其协议参考模型分為4层:网络接口层、互联网层、传输层和应用层。网络通信中一个非常重要的概念就是套接字(socket),它是介于网络应用层和传输层之间的编程接口,在Linux网络层次模型中的位置如图1所示。套结字利用IP地址与端口号与Internet中的网络进程一一对应,进而实现网络通信。最常使用的socket有两种:(1)数据流式socket(SOCK-STREAM),使用TCP协议,提供面向连接的可靠通信流;(2)数据报式socket(SOCK-DGRAM),使用UDP协议,提供无连接的服务,并且不保证可靠、无差错。本文所使用的是流式套接字。
  三、socket通信的设计与实现
  1.socket通信过程。网络程序具备Client/Server结构。下面分TCP Client端及TCP Server端为说明TCP网络程序的流程,如图2所示。
  Server端启动后,先调用socket()函数建立socket,其次通过bind()函数绑定socket和本地IP地址,然后调用listen()函数做好侦听准备,再调用accept()函数进行接收。Client端建立socket后,通过connect()函数和Server端建立连接。之后即可调用send()和recv()来实现发送和接收。关闭socket通过调用close()来实现。
  2.socket通信的实现。本实验PC机上安装的是Redhat 9.0版本的Linux操作系统,嵌入式实验平台采用三星S3C2410微处理器,嵌入式操作系统内核版本为2.4.18。分别编写服务器端应用程序server.c和客户端应用程序client.c,实现网络通信,程序流程图如图3、图4所示。
  四、结果分析
  设置PC机和目标平台的IP地址分别为:192.168.1.20和192.168.1.22。PC机Linux终端和目标平台分别运行Server和client程序,通过超级终端观察到运行结果如图5所示,可见PC机与目标平台成功建立连接,实现通信,达到了预期目标。
  五、结语
  研究socket通信对开发具有网络功能的嵌入式产品有着非常重要的作用。本文的实现对于嵌入式产品的网络应用是一个很好的探索,对于同类系统的设计具有实际的参考和推广价值。嵌入式系统与网络的结合,必然使其具有更加广阔的应用空间。
  参考文献:
  [1]刘峥嵘.嵌入式Linux应用开发详解[M].北京:机械工业出版社,2004:394-433.
  [2]吴明辉.基于ARM的嵌入式系统开发与应用[M].北京:人民邮电出版社,2004:187-197.
  [3]王进德.嵌入式Linux程序设计与应用案例[M].北京:中国电力出版社,2007:107-125.
其他文献
基于信道状况提出自适应的混合自动重传请求(HARQ)方案。充分利用发送端获得的上次成功传输时重传的冗余信息次数和信道估计的信息,判断当前的信道状况,由此确定当前发送的数据帧
工程上常用的桥梁拼宽方式各有三种,经过受力分析和大量工程实践,优势较明显的是上连下不连的拼宽方式,能满足行车舒适和美观的要求,但上部连接形式的选取、基础不均匀沉降和
针对离散多时滞系统,设计了一种D稳定鲁棒容错控制器。首先以传感器失效为例,推导出了使系统D稳定的充分条件。然后依次推广到执行器失效以及系统参数不确定的情况。所设计的鲁
IEEE 802.16j标准在IEE E802.16e标准的基础上引入了中继站。中继站睡眠模式是能量节省的重要手段。其中各参数的选取关系到RS睡眠模式的效果——平均能量消耗和平均帧时延。用
针对传统的边缘检测方法因卷积运算造成模糊图像边缘,且对噪声敏感,各种形态学边缘检测方法因检测到的边缘信息类型不同而容易使边缘信息丢失,提出一种组合式抗噪型形态学边缘检测算子;并利用不同尺度的结构元素具有不同的图像边缘检测效果,进行形态结构元素的尺度调整,得到不同尺度结构元素下的图像边缘位置;然后进行加权合成来获得边缘图像;实验表明,与其他的传统或者形态学边缘检测方法相比,该文方法不仅具有更好的噪声
基于ARM7开发设计固定电话专网远程监控系统,解决某通信专网的数据无法被远程计算机采集和处理的问题。选用AT91SAM7S64作为微处理器,主杌通过USB2.0接口与其通信,采用异步串行方
为了扩大数字水印的适用范围,提出了一种彩色图像盲水印算法。在嵌入过程中,将宿主图像从RGB空间转换到YIQ空间,对其进行小波分解后再进行分块DFT变换,结合一个嵌入模板矩阵
采用炭吸附共沉淀法制备了氧化铁(Fe2O3)纳米粉体,通过热重分析仪(TG-DTA)、X射线衍射仪(XRD)、紫外可见分光光度计(UV-Vis)和透射电镜(TEM)等手段对催化剂的热稳定性、物相结构、吸光
应用数据挖掘技术对参加计算机基础课程的学生常规期末考试成绩进行挖掘分析,提取有价值的信息,寻找出教学中存在的问题,并利用粗糙集理论各个条件属性对决策属性影响力的不同,计