6

我正在寻找一种让用户将内容从 iPhone 下载到计算机的简单方法。我见过其他应用程序实际上将 iPhone 变成了服务器,并为用户提供了一个 IP 地址,以便在他们的计算机上导航。我浏览了一些 Apple 样品,但没有什么与我想要的太相似。

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

4

3 回答 3

4

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

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

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

于 2009-01-26T06:08:09.940 回答
2

Cocoa 为客户端网络提供了很多支持,但对服务器端的支持不多。

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

下一个级别是 CoreFoundation(纯 C,但使用类似 Cocoa 的类型)。相关的 CoreFoundation API 是CFNetwork,CFSocketCFStream(CFStream是可以通过网络获取其源的文件流——它不是 System V 风格的网络流)。

在 Objective-C 中,您可以查看NSStreamObjective-C 中的CFStream.

于 2009-01-26T08:09:23.080 回答
0

O'Reilly 有一篇关于设置简单服务器的好文章。

如何编写 Cocoa Web 服务器

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

This was written back in 2006, and I haven't used this on an iPhone project yet, but the classes he uses are pretty common. I would give it a fighting chance of working for an iPhone project.

于 2009-01-26T14:59:59.820 回答