iOS设备作为networking服务器

我看到App Store上有几个应用程序允许其他计算机与iPhone / iPad设备build立http连接来传输文件。 这似乎是一个networking服务在iOS设备上运行。 只是好奇,它怎么做/什么类被使用?

谢谢。

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

CocoaHTTPServer或iPhoneHTTPServer3,或SimpleWebSocketServer或MultithreadedHTTPServer3

像之前回答最好的select是使用第三方库。 主要有两个库来完成工作: CocoaHTTPServer和MongooseDaemon 。

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

我们决定去CocoaHTTPServer,因为一些简单的原因:

  1. 即使是最简单的属性,如设置HTTP服务器的文档目录在MongooseDaemon中也不存在。 您必须更改包含的源文件中的#define ,以便能够将其指向NSHomeDirectory()的默认值。
  2. 截至目前,MongooseDaemon库包含有关Objective-C包装器中使用的弃用方法的警告。
  3. CocoaHTTPServer知道像Bonjour或WebDav的东西,而Mongoose只是提供基础知识。
  4. CocoaHTTPServer带有许多范例,从简单的HTTP服务器,passwd,SSL / TLS或WebDav HTTP服务器。
  5. CocoaHTTPServer和GCD一起工作来启用multithreading。

您可以使用GCDWebServer

这是一个基于大型中央调度的iOS和MacOS的现代Web服务器。

MongooseDaemon也是一个不错的select。

https://github.com/face/MongooseDaemon