首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
工控网中基于Linux的嵌入式HTTP服务器设计 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 23:54:19 点击数:[] ![]() |
|||||
部和实体之间传送一个空白行。 *void send_entity_body(int fd,char *buff_file) 此函数用来传递实体主体,实体主体实际上是一个处理后的网页文件,它被放在指针buff_file指向的缓冲区内。 *void zero_request_inf(struct*request_inf) void zero_response_inf(struct*response_inf) 这两个函数用于结构request_inf和response_inf清零。 *void get_file(struct*request_inf,struct * response_inf,char*buff_file,void*,void*) 该函数用来处理用户HTTL请求。首先,函数会检查request_inf结构,判断用户是请求一个网页文件还是上传数据。当用户请求网页文件时,函数将根据request_inf结构中的文件路径信息,在文件系统录找此文件。如果文件不存在或不具备权限,则函数将状态码和解释短语写入结构response_inf,然后直接返回;否则读取文件并调用自定义标记处理函数,对标记进行处理,处理过的网页文件被放入buff_file指向的缓冲区内,并把状态码、解释短路和与实体有关的一些信息写入结构response_inf。当用户上传数据时,该函数调用CGI处理函数向CAN总线网络发送帧,然后将状态码和解释短路写入结构response_inf。利用状态码和解释短语只能用“200,OK”或“500,Internal Server Error”等,简单反映执行情况。用户要获取详细信息,可待一段合适的时间后请求网页文件。函数中两个void指针分别指向自定义标记处理函数和CGI处理函数,或者对应的函数指针数组。 (2)自定义标记处理函数和CGI处理函数 自定义标记处理函数用于对自定义的处理,每一类自定义标记对对应一种自定义标记处理函数,同一类自定义标记的不同数据点利用参数来区分,比如转子秤1的重量标记可以用weight1来表示。所有的自定义标记处理函数被放在一起,构成一个函数指针数组。自定义标记处理函数向CAN总线网络发送远程帧和接收数据帧,获取相应的状态信息。CGI总线网络发送远程帧和接收数据帧,获取相应的状态信息。CGI处理函数用变量名来区分,同一类变量对应一种CGI处理函数。与自定义标记处理函数类似,所有的CGI处理函数也被放在一起,构成一个函数指针数组。由于自定义标记函数和CGI处理函数类型众多,这里就不列举了。 结语 我们设计的嵌入式HTTP服务器具备良好的通用性和可移植性。通过更换或增加PC104通信模块,该服务器能够支持不同的现场总线,或同时连接几种不同的设备级轻质网络。同时在服务器代码设计中,用C语言实现了面向对象风格的代码结构。这样,如果要求服务器端具备更多的特性,只需要简单修改结构request_inf、response_inf、操作函数和网页文件即可达到目的。这种设计思路不仅适用于嵌入式HTTP服务器,随着硬件技术尤其是嵌入式操作系统技术的发展,它同样能够应用到其它嵌入式产品的开发中。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |