在iphone上创建小型服务器,并且让其处于后台的时候服务器仍然处于运行状态

时间:2023-01-24 18:02:04

转自:http://www.mokten.com/2011/12/run-a-web-server-from-an-iphone-app/


Run a Web Server from an iPhone App

Yoo-Jin Lee Wed, Dec 14, 2011

If you ever needed to run a simple web server from an iPhone App here is one way to do it.

This example uses a lightweight web server cocoahttpserver and a sleep timer based onMMPDeepSleepPreventer by Marco Peluso.

 

Key Points

  1. Running a web server from an iPhone App is possible but will not respond when in the suspended or terminated state
  2. Stop the iPhone App going to the suspended state, when exiting, by playing an empty audio file
    1. Playing an audio file does not work in the iOS Simulator v5.0. So you need to test this on a device.
    2. Background executiion is only available in iOS 4 and later
    3. Reference: iOS Developer Library

 

Overview

  1. MTAudioPlayer.m: plays an empty audio file that loops forever
    1. Based on old version of MMPDeepSleepPreventer by Marco Peluso
    2. Needed to be modified because the the periodic thread scheduling was not working in iOS 5
  2. iPhoneHTTPServer-Info.plist
  3. Add property: Required background modes: App plays audio
  • iPhoneHTTPServerViewController.m: Opens up the localhost server URL and should show /Web/index.html

 

Full sample code: cocoahttpserver
Run the sample: /Samples/iPhoneHTTPServer