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

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

之前的, 不能访问,请求了 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就可以了,命令行就一行:
arm-linux-g ++  -ldl -o shttpd standalone . c compat_unix . c md5 . c shttpd . c mime_type . c config . c log . c 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,立即可以看到主画面!
手机中的Web服务器(新)——Arm Linux 中编译 shttpd 记录_第1张图片
图示 1 主页

手机中的Web服务器(新)——Arm Linux 中编译 shttpd 记录_第2张图片
图示 2 CGI 环境变量

手机中的Web服务器(新)——Arm Linux 中编译 shttpd 记录_第3张图片
图示3 编辑/保存的示范



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

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

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

Linux/ Symbian /Windows Mobile等机器,都可以使用 C/C++ 的 CGI 模式来开发了。 而 Windows Mobile 还可以使用.net 开发的——如果谁整一个 Embed IIS 那不是非常酷! C/C++ 使用非常广泛。

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


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

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

你可能感兴趣的:(手机中的Web服务器(新)——Arm Linux 中编译 shttpd 记录)