urządzenia iOS jako serwer WWW [zamknięty]

Widziałem, że w App Store jest kilka aplikacji, które pozwalają innym komputerom na nawiązanie połączenia http z urządzeniami iPhone/iPad w celu przesyłania plików. Wydawało się, że usługa internetowa działa na urządzeniu z systemem iOS. Tylko ciekawe jak to się robi /jakiej klasy użyto?

Dzięki.
Author: user523234, 2011-07-24

4 answers

Wystarczy wyświetlić adres IP urządzenia, otworzyć gniazdo do nasłuchu w aplikacji działającej na urządzeniu z systemem iOS i zaimplementować protokół http. Istnieje kilka bibliotek stron trzecich, które mogą wykonać większość ciężkich prac za Ciebie:

CocoaHTTPServer lub iPhoneHTTPServer3, lub SimpleWebSocketServer, lub MultithreadedHTTPServer3

 46
Author: hotpaw2,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-03 07:11:51

Jak odpowiedział przed najlepszym wyborem jest użycie 3rd party biblioteki do tego. Istnieją głównie dwie biblioteki do wykonania zadania: CocoaHTTPServeri MongooseDaemon.

Oba mają API Objective-C, ale MongooseDaemon jest tylko opakowaniem wokół serwera HTTP Mongoose napisanego w prostym c, podczas gdy CocoaHTTPServer jest całkowicie napisany w Objective-C.

Zdecydowaliśmy się na CocoaHTTPServer z kilku prostych powodów:

  1. nawet najprostsza właściwość, taka jak ustawienie katalogu dokumentu dla serwera HTTP, nie istnieje w MongooseDaemon. Musisz zmienić #define w dołączonym pliku źródłowym, aby móc zmienić go z domyślnego, który wskazuje na NSHomeDirectory().
  2. Jak na razie biblioteka MongooseDaemon zawiera ostrzeżenia o przestarzałych metodach używanych w Objective-C.
  3. CocoaHTTPServer jest świadomy takich rzeczy jak Bonjour lub WebDav, podczas gdy Mongoose po prostu dostarcza podstawy.
  4. CocoaHTTPServer zawiera wiele przykładów, które obejmują proste serwery HTTP, passwd, SSL / TLS lub serwer HTTP WebDav.
  5. CocoaHTTPServer współpracuje z GCD, aby umożliwić wielowątkowość.
 19
Author: CipherCom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-09 14:47:43

Możesz użyć GCDWebServer

To nowoczesny serwer WWW dla iOS i MacOS oparty na grand central dispatch.

 18
Author: loretoparisi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-30 00:18:47

MongooseDaemon jest również dobrym wyborem.

Https://github.com/face/MongooseDaemon

 9
Author: Vanguarder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-21 04:19:50