Les WebSockets ou une alternative avec phonegap?
Comment puis-je envoyer des données à faible latence à un serveur et à l'arrière avec phonegap?
Étant donné que je n'ai pas accès aux fichiers php en local, et n'ont pas d'expérience avec node.js ou les WebSockets je ne sais pas de qui je doit utiliser.
Vous devez vous connecter pour publier un commentaire.
WebSockets ne sont pas pris en charge nativement par les navigateurs sur Android ou les anciennes versions de Cordoue sous iOS, ce qui signifie que vous aurez besoin d'utiliser un plugin PhoneGap si vous voulez les utiliser sur le client.
Il n'y a plus d'informations sur: http://remysharp.com/2010/10/04/websockets-in-phonegap-projects/
Cependant, je ne suis pas sûr (même avec le plugin) de la résilience de WebSockets sont susceptibles d'être lorsque l'appareil se déplace entre les connexions réseau (WiFi -> 3G -> WiFi), donc à l'aide d'une simple interrogation de service web peut être une solution plus fiable si votre application a besoin pour continuer à recevoir des données de vos utilisateurs de se déplacer.
Si vous avez besoin de recevoir des données initiée par le serveur, pensez à utiliser les notifications push au lieu: iOS (APN) et Android (C2DM) fournissent des Api pour faire ce qui rend plus efficace l'utilisation de la batterie que d'avoir votre application interroger votre serveur en permanence.
Vous pouvez utiliser les WebSockets dans PhoneGap avec iOS et Android. Les WebSockets sont pris en charge nativement sur iOS Safari. Pour Android, vous aurez besoin d'utiliser un polyfill.
Voir: https://stackoverflow.com/a/13527585/39904
La réponse ci-dessus fournit des informations sur la façon de faire d'un objet WebSocket disponibles dans la WebView Android utilisé par PhoneGap et fournit également un lien vers un exemple de projet que vous pouvez utiliser pour commencer.
WebSockets été développé comme une solution de 'Comet' hacks. Comme telles, elles fournissent une très faible latence solution en temps réel de la communication bidirectionnelle entre un client et un serveur. Ce qui signifie une faible bande passante et faible utilisation des ressources - de la batterie sur mobile - depuis que vous êtes à la tenue d'une seule connexion ouverte, plutôt que de l'ouverture et de la fermeture de multiples connexions HTTP. Une solution de vote qui fait des demandes à intervalles réguliers est susceptible de vider la batterie beaucoup plus vite qu'un WebSocket solution. Si vous êtes d'interrogation à de faibles intervalles, alors il peut être bon, ça dépend de votre cas d'utilisation.
En termes de WebSockets de travail comme vous le changement entre le réseau et le type de réseau (WiFi -> 3G -> WiFi) alors si vous êtes à utiliser les WebSockets en mode natif, vous devez détecter le
onclose
et rebranchez-le. Vous aurez aussi besoin de déterminer le meilleur type de connexion non sécurisée (WS) ou secure (WSS). Je vous recommande fortement d'utiliser WSS pour mobile depuis quelques opérateur de réseau mobile l'utilisation transparente des procurations qui interfèrent avec WS connexions. Cela peut sembler compliqué, mais il y a un certain nombre de bibliothèques qui s'en occupera pour vous. Comme le Poussoir bibliothèque JavaScript (remarque: je travaille pour Pusher). Les bibliothèques comme ces également fournir des secours pour un moins efficaces basés sur HTTP solution lorsque l'environnement ne pas laisser de connexion WebSocket se produire.Voir aussi: realtime web de la technologie de guide.
Je serai d'accord avec @rmc47 que vous devriez considérer natif de notifications push si c'est pour peu fréquents unique notifications
Consulter ce lien pour voir WebSocket Support par les Navigateurs et les périphériques : html5test.com site - iOS 4.2+ prend déjà en charge le WebSocket
Voir ce doc qui explique comment développer une application simple avec WebSocket.
Malheureusement, le contenu est dans le portugais (Brésilien) langue, mais vous pouvez laisser des commentaires que je vais répondre.
Je ne suis pas sûr de ce que tu veux dire par "l'accès à des fichiers PHP en local". L'utilisation de node.js et les web sockets est pas mutuellement exclusif.
Si vous n'avez pas pris une décision sur la mise en œuvre de serveur que vous pourriez aller pour node.js ou ASP.NET.
node.js a un bon soutien pour les sockets avec Socket.io, qui fait abstraction de la mise en œuvre du client pour vous. Donc, il va utiliser les WebSockets si il y a un support, sinon, il en sera de retour le temps d'interrogation.
ASP.NET a une bibliothèque appelée SignalR qui fait la même chose pour la .NET plate-forme.