iPhone上端口80上的Web服务器

Kal*_*lle 9 iphone networking web-services network-programming

我已经在一个项目上工作了一段时间,它有一个内置的HTTP服务器,它运行在端口8080上.用户被告知通过例如http://192.168.1.4:8080/访问设备- 效果很好.最近我意识到应用程序可以使用端口80来消除对":8080"的需要,但是如果我尝试将端口设置为80,则会因"常规CFSocket错误"而崩溃.

有关如何在应用程序上为Web服务器启用端口80的任何想法?

以下是一些屏幕截图:

首先 - 在iPad上,应用程序显示您可以访问它的URL.

iPad http://enrogue.com/port80/ipad.jpg

第二 - Firefox,IP:

FF by IP http://enrogue.com/port80/firefox_byip.png

以上是来自商店的真实应用程序,它不是越狱魔法或任何东西.我知道端口<1024是为UNIX系统上的管理员保留的,所以上面的应用程序显然正在做一些特定的事情来访问端口.

Mat*_*ens 5

您可以绑定到设备的IPv4接口上的端口80,但不能绑定到IPv6接口,而不能绑定到模拟器中.您需要修改套接字代码以仅侦听IPv4接口,对于模拟器,您可以有条件地使用其他端口:

#if TARGET_IPHONE_SIMULATOR
    [httpServer setPort:8080];
#else
    [httpServer setPort:80];
#endif
Run Code Online (Sandbox Code Playgroud)