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,因为一些简单的原因:
- 即使是最简单的属性,如设置HTTP服务器的文档目录在MongooseDaemon中也不存在。 您必须更改包含的源文件中的
#define
,以便能够将其指向NSHomeDirectory()
的默认值。 - 截至目前,MongooseDaemon库包含有关Objective-C包装器中使用的弃用方法的警告。
- CocoaHTTPServer知道像Bonjour或WebDav的东西,而Mongoose只是提供基础知识。
- CocoaHTTPServer带有许多范例,从简单的HTTP服务器,passwd,SSL / TLS或WebDav HTTP服务器。
- CocoaHTTPServer和GCD一起工作来启用multithreading。
您可以使用GCDWebServer
这是一个基于大型中央调度的iOS和MacOS的现代Web服务器。
MongooseDaemon也是一个不错的select。