2010-04-06 6 views
1

Je veux créer une application de chat iPhone et je n'ai aucune expérience de la programmation socket donc pouvez-vous s'il vous plaît m'aider à comprendre Comment puis-je faire une longue interrogation de l'application iPhone?Comment faire une longue interrogation à partir de l'application iPhone?

Est-ce que NSURLConnection peut également être utilisé à cette fin ou nous devons utiliser une API de bas niveau?

Y at-il des bibliothèques disponibles pour le même?

Répondre

2

Découvrez CocoaAsyncSocket.

+0

@shaggy merci ... je l'ai déjà fait mais y a-t-il d'autres façons de le faire aussi ou est-ce la seule bibliothèque pour cela. –

+0

CocoaAsyncSocket utilise le framework CFStream de bas niveau pour faire son travail. Vous pouvez toujours réimplémenter ce que vous avez fait en utilisant CFStream vous-même, ou même utiliser CFSocket si vous le souhaitez vraiment. Ou vous pourriez aller jusqu'aux prises BSD. Mais si vous faites de la programmation de socket, dans Cocoa, pour l'iPhone, vous devriez commencer par CocoaAsyncSocket. –

2

L'interrogation longue est pour les langages comme javascript qui ne peuvent pas ouvrir les connexions persistantes. Vous pouvez toujours faire une longue interrogation avec quelque chose comme NSURLConnection, mais CFStreamCreatePairWithSocketToHost ou similaire vous servirait beaucoup mieux pour ouvrir une socket bidirectionnelle complète.

L'interrogation longue est essentiellement un hack devenu un mot à la mode.

+1

merci pour la clarification ..... Mais que pensez-vous devrait être l'approche pour faire une demande de chat en général.Cela serait d'une aide réelle pour faire des progrès dans cette direction pour moi. –

+0

Le chat est vraiment plus sur le serveur que le client. Si vous choisissez un serveur de discussion standard comme jabber, il existe probablement une implémentation de client open source pour iPhone. Je n'en ai pas utilisé, donc je suivrais les conseils de Shaggy ou de google sur le protocole de chat que vous utilisez. – drawnonward