Ich habe einen einfachen Chat-Server erstellt, der vom Client-Polling gesteuert wird. Clients senden alle paar Sekunden Datenanforderungen und erhalten neue Nachrichten sowie Informationen darüber, ob ihr Peer noch verbunden ist.Wie erstelle ich einen Chat-Server, der nicht durch Abfragen gesteuert wird?
Da der Client auf einer mobilen Plattform (iPhone) läuft, habe ich nach Möglichkeiten gesucht, das Abrufen loszuwerden, wodurch die Batterie schnell entladen wird. Ich habe gelesen, dass es möglich ist, eine http-Verbindung unbegrenzt offen zu halten, aber ich habe nicht verstanden, wie man diese Technik in der Praxis nutzt. Ich frage mich auch, ob solche Verbindungen stabil genug sind, um sie in einer mobilen Umgebung zu verwenden.
Das ideale Szenario wäre, dass der Server Daten nur dann an Clients sendet, wenn ein Ereignis aufgetreten ist, das sie beeinflusst (z. B. wenn ein Peer eine Nachricht sendet oder offline geht).
Ist es ratsam zu versuchen, dies über http zu erreichen, oder müsste ich mein eigenes Protokoll über TCP schreiben? Wie schwer wäre es, xmpp an meine Bedürfnisse anzupassen (mein Chat-Server hat einige spezielle Funktionen, die ich einfach implementieren müsste).
http://stackoverflow.com/questions/337985/comet-server-push-to-client-on-iphone –
Yep, das ist, was ich im Sinn hatte, und die Diskussion, die Russell L verbunden ist, ist auch sehr hilfreich . Danke beiden. – Felixyz