6
votes

Comment construire un messager instantané dans iPhone?

Je cherche à construire une application de type IM pour iPhone à l'aide de l'objectif-c. Je serais intéressé de voir toute information / conseils sur la manière dont les applications telles que Skype / AIM / MSN fonctionnent, ainsi que toutes les technologies / API qui pourraient être pertinentes.


2 commentaires

Votre question est trop grande. Modifier avec ce que vous avez déjà trouvé et quels besoins spécifiques vous avez. Vous dites également que vous souhaitez utiliser Objective-C pour le serveur. Voulez-vous dire le client? Sinon, quelles sont les contraintes de votre serveur (étaient-elles hébergées, combien de clients vous attendez-vous ...)


Aucune raison de fermer ce message. Il ne cherche que des "informations / conseils" comme il le dit. Il est difficile de savoir où commencer sur ces types d'applications et même obtenir un mot-clé comme "connexion persistante" ou "XMPP" peut aider. J'ai récemment découvert des serveurs XMPP après avoir passé une semaine environ une semaine à écrire une interface HTTP pour une application similaire. J'aurais aimé la demander tôt! : p


3 Réponses :


5
votes

Le protocole principal utilisé pour se connecter à ces services (ou même votre propre) est XMPP (également appelé Jabber.

Il se connecte à un serveur Jabber / XMPP qui gère les sessions. XMPP fonctionne avec Skype, Google Talk, Chat Facebook et beaucoup plus.

J'ai implémenté avec succès une application Google Chat à l'aide de cette bibliothèque XMPP open source qui correspond très bien dans iPhone:

http://code.google.com/p/xmppframework/wiki/iphone xxx

bibliothèque est maintenant déplacé vers Github: Github.com/robbiehanson / XMPPFramework comme Raspu a souligné

Vous devriez être capable de l'obtenir plutôt facilement et de courir. Il vient même avec un exemple de conversation Google.


5 commentaires

Le XMPPFramework est assez compliqué. : P Je fais actuellement cela. Fondamentalement, les serveurs XMPP permettent des connexions persistantes. Donc, au lieu de vous connecter, de rechercher des mises à jour, puis de les télécharger que le serveur "appuie" de nouveaux messages sur la connexion persistante. Vous aurez besoin d'un serveur XMPP comme OpenFire (c'est ce que j'utilise ... c'est très bon).


i thomas pouvez-vous fournir plus d'informations sur cet aspect? Merci d'avance


Fondamentalement, la façon dont HTTP fonctionne est que vous vous connectez au serveur, téléchargez un site Web ou des données, puis fermez la connexion. C'est pourquoi vous devez "rafraîchir" les sites Web et tels. XMPP fonctionne en ouvrant une connexion persistante. Cela signifie que la connexion ne se ferme jamais (à moins qu'il y ait un problème ou similaire, auquel cas vous venez de reconnecter). Ce qui se passe est lorsque le serveur reçoit de nouvelles données, il "appuie" la connexion à votre client au lieu de votre client la demander. En ce qui concerne le serveur, Apache est essentiellement un serveur HTTP ... lorsque vous obtenez votre email, vous obtenez cela via un serveur POP3


Bien ... De la même manière que XMPP, vous avez besoin d'un type de serveur spécifique pour cela. Nous avons dédié l'hébergement où je travaille et nous avons donc pu installer OpenFire ( Igniterealtime.org/projects/openfire ) Si vous avez l'hébergement partagé, vous devez utiliser votre propre serveur ou payer une mise à niveau. Je ne sais pas si vous pouvez acheter des serveurs XMPP dédiés, mais je suis sûr que si vous regardez autour de vous, vous pouvez le savoir. :)


Ah merci Thomas et pouvez-vous me guider plus d'informations sur XMPP (comme des matériaux ou des liens similaires) dessus ...



2
votes

Vous pouvez utiliser Kik API pour créer votre application mobile en plus du transport et de l'infrastructure de la messagerie instantanée de Kik. L'API est disponible pour Android et iPhone et permet à votre application pour transférer du contenu riche et des fichiers entre les utilisateurs d'applications mobiles. Il est également très facile à utiliser - seules 5 lignes de code sont nécessaires pour intégrer, dans des scénarios plus simples. Il y a plus d'informations sur le site Web de Kik API: http://www.kik.com/dev ou http://aplog.kik.com

Disclaimer: Je suis l'un des développeurs derrière KIK API :)


0 commentaires

0
votes

Êtes-vous mis sur la construction de votre propre messager instantané ou recherchez-vous le code pour mettre dans votre application?

Je suis tombé sur un article intéressant de quelqu'un qui semble avoir cherché la même chose que vous, il examine les problèmes que les codes de messagerie open source open source ont et comment essayer de les tirer ensemble:

My-Quest-make-messagerie-app- iOS

Il existe également des composants de discussion disponibles pour acheter prêt-fabriqué qui présentent l'avantage de ne pas nécessiter le temps de développer et de tester les bugs. Par exemple:

Chat-messagerie-SDK-FOR-iOS


0 commentaires