保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

工控网中基于Linux的嵌入式HTTP服务器设计


的嵌入式HTTP服务器应该具备如下基本功能。

①实时数据发布。实时数据主要包括系统运行过程中设备的各种状态信息。嵌入式HTTP服务器将实时数据以网页形式发布到Internet上,且动态实时刷新。客户可以通过浏览器访问这些实时信息。

②参数设置。参数包括运行参数和设备状态参数,如各种初始值、常数等。嵌入式HTTP服务器接收到客户提交的参数设备请求后,执行参数写入操作。

③远程实时控制。远程实时控制允许远程用户在线地控制系统中的相应执行机构,比如电机、电磁阀等。嵌入式HTTP服务器接收到远方客户提交的控制操作请求后,将下发控制命令驱动监控系统中相应的执行机构。

④访问级别设置和权限认证。只有权限不低于要求访问级别的客户,经嵌入式HTTP服务器认证后,方可进行其权限范围内的监控操作。

3 主要实现技术

3.1 超文本传输协议

HTTP协议是一个面向事务、无状态的应用层协议。在传输层,HTTP协议使用请求(request)/响应(response)模型。一次简单的HTTP事务包括以下过程。首先,客户(浏览器)发起和建立一条到服务器的TCP连接。然后,客户发送一个HTTP请求到服务器,请求包含方法、URI、协议版本和一个类MIME报文。服务器解析HTTP请求后,给出相应的HTTP响应,响应包括协议版本、状态码、解释状态码的简短短语和一个类MIME报文。最后,释放TCP连接。Linux操作系统为用户提供了称为BSD Socket的网络编程接口。利用其中的TCP套接口函数,可以非常方便地实现HTTP协议。

HTTP1.0为每一次HTTP请求/响应建立一条新的TCP连接,由于建立一条TCP连接要经历3次握手,因此效率不高。HTTP1.1提出了可持续性连接的概念。HTTP1.1只建立一次TCP连接,而重复地使用它传送一条素的请求/响应消息,减少了额外开销。在嵌入式HTTP服务器中,一般使用HTTP1.1协议。HTTP1.1协议的细节请参考RFC2616。

3.2 通用网关接口CGI

参数设置和远程控制功能都是通过CGI(通用网关接口)程序和表单实现的。CGI使用HTML表单向Web服务器发送信息。基本语法如下:

<FORM METHOD=get/post ACTION=URL></FORM>

其中,METHOD属性指定将数据传送到Web服务器的方法。输入方法有两种:GET和POST。ACTION属性定义要对表单数据进行处理的CGI脚本的URL。

CGI的工作流程是首先由浏览器将用户输入的数据传递给Web服务器,Web服务器根据接收到的数据设置环境变量并启动CGI脚本,CGI脚本从环境变量中读取所需要的数据并进行相应处理,最后使用STDOUT输出HTML形式的结果文件,经Web服务器送回浏览器,最终显示给用户。传统的CGI程序与服务器代码分开,是一个符号CGI标准的可执行文件,并储存在CF卡等存储设备上,一般用脚本语言编写。考虑到嵌入式HTTP服务器要求速度快,功能和代码都尽可能精简的特点,可以把原先由可执行文件完成的功能用C函数实现,放在服务器代码内部,并直接从HTTP请求报文接收数据。与传统CGI程序相比,这种方法具备如下特点:

*不需要标准输入,CGI函数可以直接获取到浏览器送来的信息;

*不需要标准输出,CGI函数可以直接将数据送回给浏览器;

*不需要环境变量,CGI和Web服务器在同一程序中实现,不需要环境变量来交换信息。

3.3 自定义标记

要在网页中显示工控系统中大量的实时数据,常规方法是将HTML代码直接集成到程序代码中,或者反之将C程序代码集成到HTML标记语言中。这两种方法均要求开发人员对HTML标记语言的语法细节非常熟悉。网页或程序结构的单方面调整都将导致整个系统全盘修改,系统不具备灵活性与可扩展性。HTML的精髓在于该语言的“标记”性,各种不同标记的具体含义是由服务器和浏览器进行解析。因此,当现有标记不能满足新的应用需求时,可以自行定义新的标记,只需服务器将自定义标记解析为标准标记,然后传送给浏览器即可。在本项目中,主要的实时数据转速、重量、一氧化碳含量等状态信息,可以定义相

《工控网中基于Linux的嵌入式HTTP服务器设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/147866.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。