织梦CMS - 轻松建站从此开始!

罗索

手机中的Web服务器——Arm Linux 中编译 shttpd 记录

落鹤生 发布于 2009-12-16 20:27 点击:次 
之前的, 不能访问,请求了 Web Master,至今没有回音,晚一点补上。SORRY。
TAG:

之前的, 不能访问,请求了 Web Master,至今没有回音,晚一点补上。SORRY。

shttpd,诸位应该多少都知道怎么样子了。

  •  Stand-alone server, or embeddable into existing C/C++ program
  •  GET, POST, PUT, DELETE methods
  •  CGI
  •  SSL
  •  Digest (MD5) authorization
  •  Multiple (and user defineable) index files
  •  Directory listing
  •  Standard logging
  •  Cookies
  •  inetd mode
  •  User-defineable mime types
  •  No configuration files
  •  No external dependencies

功能特性,支持CGI, SSL, cookie, MD5认证, 还能嵌入(embedded)到现有的软件里。最有意思的是不需要配置文件!由于shttpd可以嵌入其他软件,因此可以非常容易的开发嵌入式系统的web server,官方网站上称shttpd如果使用uclibc/dielibc(libc的简化子集)则开销将非常非常低。

由于shttpd可以轻松嵌入其他程序里,因此shttpd是较为理想的web server开发原形,开发人员可以基于shttpd开发出自己的webserver!


好了,闲话少说。
1、下载地址:http://shttpd.sourceforge.net

2、编译
    这么简单强劲的软件,不用makefile就可以了,命令行就一行:
Linux/Symbian/Windows Mobile等机器,都可以使用 C/C++ 的 CGI 模式来开发了。而 Windows Mobile 还可以使用.net 开发的——如果谁整一个 Embed IIS 那不是非常酷!C/C++ 使用非常广泛。

假如可以执行例如perl或者php这样的强大的语言,那就更酷了!就更不用假如Java了。


7、其他
3G时代的到来,不知道以后的网络会不会跟现在的 gprs 那么多的限制呢!会不会有自己的公网IP呢——如ADSL?
如果未来的网络理想的话,我们完全可以将个人网站搬到手机中。现在的手机性能越来越强大、存储空间也越来越大,就硬件完全是有可能的。
另外,就算和现在的 gprs 的模式相等,可毕竟网络速度上去了,建立一个简单的个人网站,在同一个城市共享信息、资源,是也很方便的,对么。

让我们期待更多、更公平!

arm-linux-g++ -ldl -o shttpd 
standalone.c compat_unix.c md5.c shttpd.c mime_type.c config.c log.
string.c auth.c io_cgi.c io_dir.c io_emb.c io_file.c io_socket.c io_ssl.c cgi.c

注:对于如何构建arm  linux 的开发环境,请参考网上的其他的文章,如有问题,请留言。

3、建立非常简单的页面测试
index.html
 

<html>
<head>
<title>SHTTPD ARM LINUX DEMO</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<h1>Hello World!</h1>
</h3>Here SHTTPD web server serving!</h3>
<br/>
<h4><href="shttpd_cgi.sh">CGI 1 环境变量演示</a>.</h4>
<h4><href="shttpd.cgi">CGI 2 最简单的修改手机配置文件演示</a>.</h4>
<h4><href="20070711081917_.JPG">图片演示</a>.</h4>
<h4>Mailto: <href="mailto:cangwu.lee/at/gmail.com"> Simon Lee </a>.</h4>
<hr/>
<h3>PowerdBy:ShttpD <img src="shttpd.ico" border="0"/></h3>
</body>
</html>


4、部署
在手机SD卡建立一个 www 目录,将编译成功的 shttpd 和测试的 index.html 一块拷贝到该目录。
启动:
 

./shttpd -c .sh,.cgi -d /mmc/mmca1/www -p 80

为了方便可以建立一个 startShttpd.sh 来启动,这里就不多说了。
参数说明:
-c 支持的cgi的文件类型
-d 主文当目录
-p 侦听的端口

5、测试
在电脑使用IE/FireFox访问手机,http://169.254.142.2,立即可以看到主画面!


图示 1 主页


图示 2 CGI 环境变量


图示3 编辑/保存的示范

如果目标是其他的不支持HTML的手机,那么就要将主文档改写成 .wml ,这又是另外的话题了。也可以使用cgi的方式,将主文档改写成既支持HTML又支持WML的通用页面。

如果使用 gprs 拨通之后,同城的、其它的手机可以通过IP地址访问的该手机的。给好友共享信息、资源,是不是又多了一个 快捷的 途径?那时候再说是通过蓝牙共享、红外共享、甚至数据线共享,是不是很落后?毕竟咱们进入了网络的时代了呀。

6、扩展性
这款web服务器,完全可以编译好,在各种智能手机中运行。至于开发的语言,通用的就是 C/C++ 的 CGI 开发模式。现在,世界上还有不少的大型网站是使用 CGI 开发的。 

(cangwu_lee)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/200912/8136.html]
本文出处:CSDN.NET 作者:cangwu_lee
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容