嵌入式Linux下基于socket网络通信的实现
2017-07-13李敏黄巧巧刘绍丽
李敏+黄巧巧+刘绍丽



摘要:随着嵌入式技术的发展及其在高端产品中的应用,网络通信已成为嵌入式产品开发的必然需求。基于嵌入式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协议,提供无连接的服务,并且不保证可靠、无差错。……
