基于Web的嵌入式设备管理
3 并发中的关键技术
3.1 自定义用户RPM
通过调用函数httpRomConfAdd(HTTP_M_GET,"/user_rpm/"User_rpm),把形如http://x.x.x.x/user_rpm/*.htm?para1=xxx¶2=xxx的请求用函数框架如下:
short User_rpm(HTTP_REQ_ID reqId{
char* para;
httpStatusSet (reqId,HTTP_OK);
httpHeaderGenerate (reqId); /*产生THHP头*/
para=httpGetEnv(reqId,"QUERY_STRING"); /*得到输入参数*/
…… /*处理输入参数及准备输出结果*/
httpStringPut (reqId,"<HTML>..."); /*开始输出*/
…… /*输出全部HTML语句*/
httpStringPut(
reqId,"...</HTML>"); /*结束输出*/
return(RPM_DONE);
}
3.2 自定义SSI处理函数
通过调用函数httpSsiFnConfAdd("user ssi",User_ssi)建立自定义SSI处理函数User_ssi。当而面中包含如下<WINDWEB>标记时:<WINDWEB FUNC=user_ssi para></WINDWEB>,服务器将调用函数User_ssi(参数为para),并将输入插到准备返回的HTTP页面中。函数User_rpm的实实框架如下:
short User_ssi(HTTP_REQ_ID redid,char * szArg){
char *para;
parg=szArg; /*得到输入参数*/
…… /*处理输入参数及准备输出结果*/
httpStringPut (reqId,"…"); /*输出全部HTML语句*/
return(HTTP_OK);
}
3.3 et Java applet实现服务器推送
Live Control模块的API提供如下Java类的实现:
·DirectRegistry Applet与符号表进行通讯的基本部件
·DirectReadProxy 从DirectRegistry中获取符号表变量的改变
·DirectWriteProxy 更新DirectRegistry中符号表变量的值
·DataObjectChangeListenet、DataObjectStatusListener用于监听的容器
用Java applet实现服务器推送的框架如下:
《基于Web的嵌入式设备管理(第3页)》