我正在寻找一种简单的方法让用户将内容从iPhone下载到他们的计算机上。我见过其他应用程序实际上将iPhone变成了服务器,并为用户提供了一个IP地址,可以在他们的计算机上导航。我瞥了一眼苹果样品,但没有什么看起来像我想要的那样。
那么制作一个能够侦听TCP端口80(甚至更好的HTTP服务器)并发送响应的服务器的最简单方法是什么?希望使用Objective C类,但如果没有可用的话,我可以创建一个包装器。
答案 0 :(得分:4)
Google Toolbox for Mac有一个名为 GTMHTTPServer 的类。
Deusty Designs有一个名为CocoaHTTPServer的项目。
您无法使用端口80,因为它需要root访问权限。
答案 1 :(得分:2)
Cocoa为客户端网络提供了大量支持,但对于服务器端则不是很多。
在最低级别,您可以使用普通的BSD套接字。
下一个级别是CoreFoundation(普通C,但使用类似Cocoa的类型)。相关的CoreFoundation API为CFNetwork
,CFSocket
和CFStream
(CFStream
是一个文件流,可以通过网络获取其来源 - 它不是System V样式的网络流)。
在Objective-C中,您可以查看NSStream
与CFStream
相当的Objective-C。
答案 2 :(得分:0)
关于设置简单服务器的文章很好。
How to Write a Cocoa Web Server
他使用NSFileHandle和NSSocketPort来设置侦听器并处理请求。他还介绍了直接使用BSD套接字的一些细节工作。我过去对这种做法很幸运。
这是在2006年写的,我还没有在iPhone项目上使用它,但他使用的类很常见。我会给它一个为iPhone项目工作的战斗机会。