我用什么类来使iPhone充当服务器?

时间:2009-01-26 02:47:15

标签: iphone cocoa-touch httpserver

我正在寻找一种简单的方法让用户将内容从iPhone下载到他们的计算机上。我见过其他应用程序实际上将iPhone变成了服务器,并为用户提供了一个IP地址,可以在他们的计算机上导航。我瞥了一眼苹果样品,但没有什么看起来像我想要的那样。

那么制作一个能够侦听TCP端口80(甚至更好的HTTP服务器)并发送响应的服务器的最简单方法是什么?希望使用Objective C类,但如果没有可用的话,我可以创建一个包装器。

3 个答案:

答案 0 :(得分:4)

Google Toolbox for Mac有一个名为 GTMHTTPServer 的类。

Deusty Designs有一个名为CocoaHTTPServer的项目。

您无法使用端口80,因为它需要root访问权限。

答案 1 :(得分:2)

Cocoa为客户端网络提供了大量支持,但对于服务器端则不是很多。

在最低级别,您可以使用普通的BSD套接字。

下一个级别是CoreFoundation(普通C,但使用类似Cocoa的类型)。相关的CoreFoundation API为CFNetworkCFSocketCFStreamCFStream是一个文件流,可以通过网络获取其来源 - 它不是System V样式的网络流)。

在Objective-C中,您可以查看NSStreamCFStream相当的Objective-C。

答案 2 :(得分:0)

关于设置简单服务器的文章很好。

How to Write a Cocoa Web Server

他使用NSFileHandle和NSSocketPort来设置侦听器并处理请求。他还介绍了直接使用BSD套接字的一些细节工作。我过去对这种做法很幸运。

这是在2006年写的,我还没有在iPhone项目上使用它,但他使用的类很常见。我会给它一个为iPhone项目工作的战斗机会。

相关问题