iOS设备作为Web服务器

use*_*234 51 iphone cocoa-touch objective-c ipad ios

我看到App Store上有几个应用程序允许其他计算机与iPhone/iPad设备进行http连接以传输文件.它看起来像是在iOS设备上运行的Web服务.只是好奇它是如何完成的/使用了什么类?

谢谢.

hot*_*aw2 48

只需显示设备IP地址,打开用于在iOS设备上运行的应用程序中侦听的套接字,并实现http协议.有几个第三方库可以为您完成大部分繁重的工作:

CocoaHTTPServer或iPhoneHTTPServer3,或SimpleWebSocketServer,或MultithreadedHTTPServer3


lor*_*isi 21

您可以使用GCDWebServer

它是基于宏中央调度的iOS和MacOS的现代Web服务器.


Pat*_*rik 19

喜欢回答之前,最好的选择就是使用第三方库.主要有两个库来完成工作:CocoaHTTPServerMongooseDaemon.

它们都有Objective-C API,但是MongooseDaemon只是用普通c编写的Mongoose HTTP服务器的包装器,而CocoaHTTPServer完全是用Objective-C编写的.

我们决定使用CocoaHTTPServer,原因很简单:

  1. 甚至像设置HTTP服务器的文档目录这样的最简单的属性在MongooseDaemon中也不存在.您必须更改#define包含的源文件中的a才能从默认值更改它,指向NSHomeDirectory().
  2. 截至目前,MongooseDaemon库包含有关Objective-C包装器中使用的弃用方法的警告.
  3. CocoaHTTPServer知道诸如Bonjour或WebDav之类的东西,而Mongoose只提供基础知识.
  4. CocoaHTTPServer附带了许多示例,包括简单的HTTP服务器,passwd,SSL/TLS或WebDav HTTP服务器.
  5. CocoaHTTPServer与GCD一起使用以启用多线程.


小智 9

MongooseDaemon也是不错的选择.

https://github.com/face/MongooseDaemon