手机中的Web服务器——Arm Linux 中编译 shttpd 记录
之前的, 不能访问,请求了 Web Master,至今没有回音,晚一点补上。SORRY。
shttpd,诸位应该多少都知道怎么样子了。
由于shttpd可以轻松嵌入其他程序里,因此shttpd是较为理想的web server开发原形,开发人员可以基于shttpd开发出自己的webserver!
好了,闲话少说。
1、下载地址:http://shttpd.sourceforge.net
2、编译
这么简单强劲的软件,不用makefile就可以了,命令行就一行:
注:对于如何构建arm linux 的开发环境,请参考网上的其他的文章,如有问题,请留言。
3、建立非常简单的页面测试
index.html
4、部署
在手机SD卡建立一个 www 目录,将编译成功的 shttpd 和测试的 index.html 一块拷贝到该目录。
启动:
为了方便可以建立一个 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 开发的。
Linux/ Symbian /Windows Mobile等机器,都可以使用 C/C++ 的 CGI 模式来开发了。 而 Windows Mobile 还可以使用.net 开发的——如果谁整一个 Embed IIS 那不是非常酷! C/C++ 使用非常广泛。
假如可以执行例如perl或者php这样的强大的语言,那就更酷了!就更不用假如Java了。
7、其他
3G时代的到来,不知道以后的网络会不会跟现在的 gprs 那么多的限制呢!会不会有自己的公网IP呢——如ADSL?
如果未来的网络理想的话,我们完全可以将个人网站搬到手机中。现在的手机性能越来越强大、存储空间也越来越大,就硬件完全是有可能的。
另外,就算和现在的 gprs 的模式相等,可毕竟网络速度上去了,建立一个简单的个人网站,在同一个城市共享信息、资源,是也很方便的,对么。
让我们期待更多、更公平!
之前的, 不能访问,请求了 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
由于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
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 >< a href ="shttpd_cgi.sh" > CGI 1 环境变量演示 </ a > . </ h4 >
< h4 >< a href ="shttpd.cgi" > CGI 2 最简单的修改手机配置文件演示 </ a > . </ h4 >
< h4 >< a href ="20070711081917_.JPG" > 图片演示 </ a > . </ h4 >
< h4 > Mailto: < a href ="mailto:cangwu.lee/at/gmail.com" > Simon Lee </ a > . </ h4 >
< hr />
< h3 > PowerdBy:ShttpD < img src ="shttpd.ico" border ="0" /></ h3 >
</ body >
</ 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 >< a href ="shttpd_cgi.sh" > CGI 1 环境变量演示 </ a > . </ h4 >
< h4 >< a href ="shttpd.cgi" > CGI 2 最简单的修改手机配置文件演示 </ a > . </ h4 >
< h4 >< a href ="20070711081917_.JPG" > 图片演示 </ a > . </ h4 >
< h4 > Mailto: < a 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
参数说明:
-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 开发的。
Linux/ Symbian /Windows Mobile等机器,都可以使用 C/C++ 的 CGI 模式来开发了。 而 Windows Mobile 还可以使用.net 开发的——如果谁整一个 Embed IIS 那不是非常酷! C/C++ 使用非常广泛。
假如可以执行例如perl或者php这样的强大的语言,那就更酷了!就更不用假如Java了。
7、其他
3G时代的到来,不知道以后的网络会不会跟现在的 gprs 那么多的限制呢!会不会有自己的公网IP呢——如ADSL?
如果未来的网络理想的话,我们完全可以将个人网站搬到手机中。现在的手机性能越来越强大、存储空间也越来越大,就硬件完全是有可能的。
另外,就算和现在的 gprs 的模式相等,可毕竟网络速度上去了,建立一个简单的个人网站,在同一个城市共享信息、资源,是也很方便的,对么。
让我们期待更多、更公平!