基于精简TCP/IP协议栈的信息家电网络服务器
统实现方式。
ROS33基本内核按功能划分为6大部分:
*任务管理——负责系统中任务状态的变迁;
*任务相关的同步管理——通过睡眠/唤醒、挂起/解挂等操作,处理相关任务及任务之间的同步关系;
*同步与通信——通过信号灯、事件、邮箱等通信机制,实现独立任务之间的同步与通信;
*系统管理——对系统环境的管理;
*时钟管理——日历时钟、定时器、定时任务等的管理;
*中断管理——开/关中断。
图6给出了ROS33内核的概念模型。
4Web服务器及上层应用程序框架
WEB服务器所采用的方式称为uip_connect,比通常在设计中所使用的Socket套接字更适合于嵌入式系统下面即是WEB服务器的大体框架。
#include<uip.h>
voidhttp_listen_init(void){
uip_listen(80);
}//httplisten初始化
voidlisten_init(void){
http_listen_init();
}
voidapplication(void){
if(uip_connected())//如果当前的连接状态为connected
switch(uip_conn->lport){
casehtons(80):
httpd;//如果80PORT有数据到达,则调用HTTP处理HTML文件的传送
}
}
首先,服务器与客户机建立连接,再通过侦听端口80,判断是否有客户请求到达,若有则将调用应用程序httpd进行相应处理,否则,继续侦听。Httpd是用于处理HTTP请求的应用程序,具体设计在协议栈uIP中有描述。uip.h是协议uIP的一个头文件。
在应用软件上实现简单WEB服务器功能,其主要由两个模块构成:一是用户登陆模块;二是家电监控模块。用户登陆模块需要解决用户的合法性检查,即接收用户输入的用户名和密码,进行校验,合法则进入家单监控页面,非法则发出警告页面。家电监控模块针对各家电的硬件情况,收集信息家电的状态码,并通过网页形式显示。
在两个模块中,有一部分相似的处理,即对输入的数据进行解析。现在定义数组htmlinputs来存放解析后的信息。对表单输入的数据进行解析后,将其name值和value值分别存放在htmlinput_struct.name和htmlinput_struct.value里,便于以后的处理。变量htmlinputcount存放表单里输入变量的个数。定义如下:
structhtmlinput_structhtmlinputs[100];
inthtmlinputcount=0;
除此外,定义函数get_inputs()和translate()对输入的数据进行处理。
Intget_inputs();//将从表单输入 《基于精简TCP/IP协议栈的信息家电网络服务器(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/168480.html
ROS33基本内核按功能划分为6大部分:
*任务管理——负责系统中任务状态的变迁;
*任务相关的同步管理——通过睡眠/唤醒、挂起/解挂等操作,处理相关任务及任务之间的同步关系;
*同步与通信——通过信号灯、事件、邮箱等通信机制,实现独立任务之间的同步与通信;
*系统管理——对系统环境的管理;
*时钟管理——日历时钟、定时器、定时任务等的管理;
*中断管理——开/关中断。
图6给出了ROS33内核的概念模型。
4Web服务器及上层应用程序框架
WEB服务器所采用的方式称为uip_connect,比通常在设计中所使用的Socket套接字更适合于嵌入式系统下面即是WEB服务器的大体框架。
#include<uip.h>
voidhttp_listen_init(void){
uip_listen(80);
}//httplisten初始化
voidlisten_init(void){
http_listen_init();
}
voidapplication(void){
if(uip_connected())//如果当前的连接状态为connected
switch(uip_conn->lport){
casehtons(80):
httpd;//如果80PORT有数据到达,则调用HTTP处理HTML文件的传送
}
}
首先,服务器与客户机建立连接,再通过侦听端口80,判断是否有客户请求到达,若有则将调用应用程序httpd进行相应处理,否则,继续侦听。Httpd是用于处理HTTP请求的应用程序,具体设计在协议栈uIP中有描述。uip.h是协议uIP的一个头文件。
在应用软件上实现简单WEB服务器功能,其主要由两个模块构成:一是用户登陆模块;二是家电监控模块。用户登陆模块需要解决用户的合法性检查,即接收用户输入的用户名和密码,进行校验,合法则进入家单监控页面,非法则发出警告页面。家电监控模块针对各家电的硬件情况,收集信息家电的状态码,并通过网页形式显示。
在两个模块中,有一部分相似的处理,即对输入的数据进行解析。现在定义数组htmlinputs来存放解析后的信息。对表单输入的数据进行解析后,将其name值和value值分别存放在htmlinput_struct.name和htmlinput_struct.value里,便于以后的处理。变量htmlinputcount存放表单里输入变量的个数。定义如下:
structhtmlinput_structhtmlinputs[100];
inthtmlinputcount=0;
除此外,定义函数get_inputs()和translate()对输入的数据进行处理。
Intget_inputs();//将从表单输入 《基于精简TCP/IP协议栈的信息家电网络服务器(第4页)》