What classes do I use to make an iPhone act as a server?

十年热恋 提交于 2020-01-01 03:17:27

问题


I'm looking for an easy way for users to download content from an iPhone to their computer. I've seen other apps that actually turn the iPhone into a server and give the user an IP address to navigate to on their computer. I've glanced at some Apple samples, but nothing looked too much like what I was going for.

So what's the easiest way to make a server that listens on TCP port 80 (even better, an HTTP server) and sends responses? Hopefully using Objective C classes, but I can make a wrapper if there isn't anything available.


回答1:


Google Toolbox for Mac has a class called GTMHTTPServer.

Deusty Designs has a project called CocoaHTTPServer.

You can't use port 80 because it requires root access.




回答2:


Cocoa provides lots of support for client-side networking but not a lot for server-side.

At the lowest level, you can use normal BSD sockets.

The next level up is CoreFoundation (plain C but using Cocoa-like types). Relevant CoreFoundation APIs are CFNetwork, CFSocket and CFStream (CFStream is a file-stream that can have its source through a network -- it is not a System V style network Stream).

In Objective-C, you can look at NSStream which is the Objective-C equivalent of CFStream.




回答3:


There is a good O'Reilly article on setting up a simple server.

How to Write a Cocoa Web Server

He uses NSFileHandle and NSSocketPort to setup a listener and handle requests. He also gets into some of the detail work of using the BSD sockets directly. I have had luck with this approach in the past.

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.



来源:https://stackoverflow.com/questions/478719/what-classes-do-i-use-to-make-an-iphone-act-as-a-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!