iPhone Http 服务器Mongoose的使用

本文介绍如何利用Mongoose项目在iOS应用中快速搭建一个HTTP服务器,包括安装、配置及运行过程,以及如何通过Safari浏览器访问应用沙盒中的文件。

Mongoose开源项目的主页是http://code.google.com/p/mongoose/。Mongoose是一个web服务器,通过提供一个web接口给它,它可以嵌入到现有的应用程序中去。Mongoose web服务器的执行是自满足的,它不依赖于任何其他服务。如果你将它复制到任何目录并执行,它将将启动web服务并将当前目录作为主目录、端口号是8080。当然这些配置选项都可以通过配置文件mongoose.conf设置。

Mongoose它的前身是shttpd,它完全开源和自由使用。它还具有如下特性:

  • 跨平台——Windows、MacOS 、 大多数UNIX
  • CGI, SSL, SSI, Digest (MD5) authorization, resumed download, aliases
  • IP-based ACL, Windows service, GET, POST, HEAD, PUT, DELETE methods
  • Small footprint: executable size is 40 kB on Linux 2.6 i386 system, 60 kB on Windows system
  • 能够用简单和干净的API嵌入到应用程序中
  • Language suport for:
    • C/C++ (native)
    • Python - since version 2.6 (done)
    • C# - since version 2.7 (done)
    • Ruby - since version 2.9 (todo)
    • Lua - since version 2.9 (todo)


Mongoose 是一个可嵌入到你的iPhone App 中的“轻量级”的http服务器,它是基于BSD 协议的开源项目,它的作者是Sergey Lyubka。项目主页位于:https://github.com/face/MongooseDaemon#readme

它的使用非常简单,你可以直接在项目中以源代码的方式引用。使用Mongoose时,首先要#import "MongooseDaemon.h",然后在应用程序委托中声明一个MongooseDaemon对象:

MongooseDaemon   *mongooseDaemon;

在应用程序委托的applicationDidFinishLaunching:(UIApplication *)application方法中加入Mongoose服务器:

mongooseDaemon = [[MongooseDaemon alloc] init];

[mongooseDaemon startMongooseDaemon:@"8080"];

这样,当应用程序一启动就启动了一个Mongoose的http服务器(8080端口)。

在dealloc方法中,这样来停止http服务:

[mongooseDaemon stopMongooseDaemon];

 [mongooseDaemon release];

在设备上调试该程序,然后在Mac上打开Safari,输入iPhone所在的ip地址和Mongoose http服务器所监听的端口8080,你将会看到浏览器中列出了应用程序沙盒中的所有目录:


现在,你可以访问程序目录中的某个文件了:


另外告诉你一个查看iPhone ip地址的小技巧:在“设置”程序中,点击Wi-Fi,可以看到当前Wi-Fi网络右边有一个蓝色箭头,点击这个图标,你会得到iPhone目前的ip地址。

文章出处:http://blog.youkuaiyun.com/kmyhy/article/details/7031340


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值