51 votes

Périphériques iOS en tant que serveur Web

J'ai vu qu'il y a plusieurs applications sur l'App Store qui permettent à d'autres ordinateurs d'établir une connexion http avec les appareils iPhone / iPad pour transférer des fichiers. Il semblait qu'un service Web était en cours d'exécution sur le périphérique iOS. Juste curieux de savoir comment c'est fait / quelle classe a été utilisée?

Merci.

49voto

hotpaw2 Points 40796

Il suffit d'afficher l'adresse IP du périphérique, d'ouvrir un socket pour l'écoute dans une application s'exécutant sur le périphérique iOS et d'implémenter le protocole http. Plusieurs bibliothèques tierces peuvent faire le gros du travail pour vous:

CocoaHTTPServer ou iPhoneHTTPServer3, ou SimpleWebSocketServer, ou MultithreadedHTTPServer3

21voto

loretoparisi Points 1206

Vous pouvez utiliser GCDWebServer

C'est un serveur web moderne pour iOS et MacOS basé sur un grand répartiteur général.

19voto

CipherCom Points 383

Comme une réponse avant le meilleur choix est d'utiliser un 3ème partie de la bibliothèque pour cela. Il existe principalement deux bibliothèques pour faire le travail: CocoaHTTPServer [1] et MongooseDaemon [2].

Deux d'entre eux ont un Objectif-C API, mais MongooseDaemon est juste un wrapper autour de la Mangouste serveur HTTP écrit en plaine c, alors que CocoaHTTPServer est entièrement écrit en Objective-C.

Nous avons décidé d'aller avec CocoaHTTPServer à cause de quelques raisons simples:

  1. Même le plus simple de la propriété comme paramètre le répertoire document pour le serveur HTTP n'existe pas dans MongooseDaemon. Vous devez modifier un #define dans un fichier source pour être en mesure de changer celui par défaut, les points de NSHomeDirectory().
  2. Aujourd'hui le MongooseDaemon bibliothèque contient des avertissements à propos des méthodes obsolètes utilisés au sein de l'Objective-C wrapper.
  3. CocoaHTTPServer est conscient des choses comme Bonjour ou WebDav, alors que la Mangouste ne fournit que les bases.
  4. CocoaHTTPServer est livré avec de nombreux exemples qui vont de simples serveurs HTTP, passwd, SSL/TLS ou WebDav serveur HTTP.
  5. CocoaHTTPServer fonctionne avec PGCD pour activer le multithreading.

[1] https://github.com/robbiehanson/CocoaHTTPServer

[2] https://github.com/face/MongooseDaemon

9voto

Vanguarder Points 337

MongooseDaemon est également un bon choix.

https://github.com/face/MongooseDaemon

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X