打印

boa下的cgi程序与应用程序如何关联

[复制链接]
3001|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
carrick|  楼主 | 2008-12-15 13:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教个问题
cgi程序是如何和应用程序关联起来的?html网页可以通过get,post向cgi程序传递信息,但cgi是怎样输出信息的呢?
如leds.cgi,如下:
#!/bin/sh

type=0
period=1

case $QUERY_STRING in
    *ping*)
        type=0
        ;;
    *counter*)
        type=1
        ;;
    *stop*)
        type=2
        ;;
esac

case $QUERY_STRING in
    *slow*)
        period=0.25
        ;;
    *normal*)
        period=0.125
        ;;
    *fast*)
        period=0.0625
        ;;
esac

/bin/echo $type $period > /tmp/led-control

echo "Content-type: text html; charset=gb2312"
echo
/bin/cat led-result.template
其中这行:/bin/echo $ period ? /tmp/led-control
是怎么通过Query_String的环境变量传递给应用程序???
麻烦了,谢谢! 

相关帖子

沙发
armecos| | 2008-12-15 22:01 | 只看该作者

先看看基础的CGI编程吧,

其实就是编写程序响应输入,直接向对应sock写应答页面即可。

ecos支持BOA、GOAHEAD,可以实现ASP动态页面。

使用EASY/SMART开发板制作的“托管主机”
动态网页

上述文档可能不完整或已被更新,想获得该资料的最新最全版本,请访问:www.armecos.com

更多内容,详见:
我的培训中心
我的研发团队
我的技术顾问
    文件系统整体解决方案咨询套餐
    IP协议栈整体解决方案咨询套餐
    USB整体解决方案咨询套餐
    BootLoader整体解决方案咨询套餐

使用特权

评论回复
板凳
神秘地形| | 2008-12-16 10:31 | 只看该作者

输出重定向

cgi程序的标准输出为boa的标准输入,这一句是要把period这个环境变量的值写进tmp目录下的led-control这个文件中,因此用到重定向符号">",然后其他的应用程序再根据从led-control这个文件中读到的数据来进行不同的操作。也就是说是led-control把cgi程序和应用程序关联起来的。

使用特权

评论回复
地板
carrick|  楼主 | 2008-12-17 13:31 | 只看该作者

cgi

非常感谢三楼的回答
基本明白你的意思
但led-control是一个链接文件,又怎么知道led-control里的内容呢?
就是说如果自己写个cgi程序,输出重定向到led-control中,而这个led-control又应该怎么写呢,一定要是链接文件吗?怎么和应用程序关联起来呢?
麻烦解答,不甚感激!

使用特权

评论回复
5
carrick|  楼主 | 2008-12-17 16:11 | 只看该作者

cgi

ps:
   led-control是一个管道文件,但这个管道文件是如何和应用程序led联系的呢?led是最后生成的可执行文件了。led.c里也看不到和led-control有什么关联啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

55

帖子

0

粉丝