Comment puis-je envoyer de faibles données de latence à un serveur et à dos avec téléphones? P>
Considérant que je n'ai pas accès à des fichiers PHP localement et que vous n'avez pas d'expérience avec node.js ou WebSockets, je ne sais pas ceux que je devrais utiliser. P>
4 Réponses :
Websockets ne sont pas pris en charge de manière native par les navigateurs dans Android ou anciennes versions de Cordoue sous IOS , ce qui signifie que vous devez utiliser un plug-in PhoneGap si vous souhaitez les utiliser sur le client. P>
Il y a plus d'informations sur: http://remysharp.com / 2010/10/04 / WebSockets-in-PhoneGap-Projects / P>
Cependant, je ne suis pas sûr (même avec le plugin) à quel point les selles résilientes sont susceptibles d'être lorsque le périphérique se déplace entre les connexions réseau (wifi -> 3g -> wifi), il peut donc utiliser un simple service Web de bureaux de vote. option plus fiable Si votre application doit continuer à recevoir des données lorsque vos utilisateurs se déplacent. P>
Si vous devez recevoir des données initiées par le serveur, envisagez d'utiliser des notifications pushs à la place: IOS (APN) et Android (C2DM) fournissent des API à ce que cela utilise une utilisation plus efficace de la batterie que celle de votre serveur d'applications. constamment. P>
Que se passerait-il lorsque l'appareil a changé de connexions et j'utilisais un site Web? Y a-t-il une sorte d'événement que je pouvais gérer quand cela se produit? ... Si je devais utiliser des notifications push, qu'au besoin d'intégrer l'API dans le logiciel PhoneGap? Je n'ai presque aucune expérience de code de rédaction pour le système natif, uniquement des langues de développement Web.
@maxhud: Cela dépend de la bibliothèque de standards (gardez à l'esprit que vous devez utiliser un plugin, car ils ne sont pas pris en charge de manière native). Je suppose que dans la plupart des cas, ils terminent la connexion. Que vous puissiez détecter cela dépend de l'API de la bibliothèque. Pour les notifications push, vous devez utiliser un plug-in PhoneGap. Github.com/marknight/gcm-cordova prend en charge la messagerie en nuage de Google; Github.com/purplecabbage/Phonegap-plugins/tree/master/ios/ ... prend en charge les notifications push apple.
@MAXHUD ... Suite: Notez que si vous utilisez un service de construction hébergé, tel que PhoneGap Build ou Nomad pour Visual Studio (Divulgation: Je suis sur l'équipe Nomad), vous ne pourrez probablement pas utiliser indigène Les plugins comme ceux que j'ai référencés ci-dessus. Dans ce cas, vous devrez probablement simplement interroger votre service Web à un taux approprié.
WebSockets sont b> Nativement pris en charge sur iOS dans Safari. Ainsi, les webockets fonctionnent «hors de la boîte» dans PhoneGap sur iOS.
WebSockets ne sont pas pris en charge sur toutes les versions de Safari sur iOS. Voyez ici: Caniuse.com/websockets
Il y a un plugin de construction téléphonique pour gérer les webockets sur Android: Build.Phonegap.com/plugins/478
Cette réponse et ces commentaires connexes sont assez anciens, les webockets sont prises en charge par presque tous les navigateurs mobiles de nos jours (à l'exception de l'opéra Mini à partir de janvier 2017): Caniuse.com/#search=websocket
Reportez-vous à ce lien pour voir la prise en charge de Websocket par navigateurs et périphériques: site HTML5TEST.COM < / a> - iOS 4.2 + strong> prend déjà en charge les standards p>
voir Ce doc qui explique comment développer un simple Application avec Websocket. p>
Malheureusement, le contenu est dans la langue portugaise (brésilienne), mais vous pouvez laisser des commentaires que je répondrai. P>
Je développerai d'abord des applications Android, mais ce n'est pas tout à fait ce que je cherche
Je ne suis pas sûr de ce que vous entendez par "Accès aux fichiers PHP localement". L'utilisation de nœud.js et de sockets Web n'est pas non plus exclusive mutuellement. P>
Si vous n'avez pas pris de décision sur la mise en œuvre du serveur, vous pouvez opter pour NODE.JS ou ASP.NET. P>
nœud.js a un bon support pour les sockets avec socket.io , qui résume la mise en œuvre du client pour vous. Donc, il utilisera des webkets s'il y a un soutien, sinon il redeviendra à long interrogation. P>
asp.net a une bibliothèque appelée Signalr qui fait quelque chose de similaire pour la plate-forme .NET. P>
Vous pouvez utiliser WebSockets dans PhoneGap avec iOS et Android. Websockets sont de manière nativement prise en charge sur IOS dans Safari. Pour Android, vous devrez utiliser un polyfill. P>
Voir: https://stackoverflow.com/a/13527585/39904 p>
La réponse ci-dessus fournit des informations sur la manière de créer un objet WebSocket disponible dans l'Android Webview utilisé par PhoneGap et fournit également un lien vers un exemple de projet que vous pouvez utiliser pour commencer. P>
Websockets ont été développés comme une solution aux hacks «comet». En tant que tels, ils fournissent une solution de latence très faible pour la communication bidirectionnelle en temps réel entre un client et un serveur. Cela signifie une bande passante basse bande passante et une batterie de la batterie sur mobile - car vous tenez une seule connexion ouverte, puis de l'ouverture et de la fermeture de plusieurs connexions HTTP. Une solution de vote qui fait des demandes à intervalles réguliers est susceptible de drainer la batterie beaucoup plus rapidement qu'une solution WebSocket. Si vous interrogez des intervalles inférieurs, cela peut arriver - cela dépend de votre cas d'utilisation. P>
en termes de WebSockets fonctionnant comme vous modifiez entre le réseau et le type de réseau (wifi -> 3g -> wifi), alors si vous utilisez des webockets de manière native, vous devez détecter le Voir aussi: Guide technologique Web en temps réel . < / p>
Je serais d'accord avec @ RMC47 que vous devriez envisager des notifications push natales si elle est réservée aux notifications simples infrètes p> osclose code> et reconnecter. Vous devrez également déterminer le meilleur type de connexion; Sans sécuriser (WS) ou sécurisé (WSS). Je vous recommande vivement d'utiliser WSS pour mobile car certains fournisseurs de réseau mobile utilisent des proxies transparentes qui interfèrent avec les connexions WS. Cela peut sembler compliqué, mais il existe un certain nombre de bibliothèques qui gèrent cela pour vous. Telle que le Bibliothèque JavaScript de pousseur ( Remarque: je travaille pour le poussette em> ). Des bibliothèques telles que celles-ci fournissent également de la relèvement à une solution à base de HTTP moins efficace lorsque l'environnement ne laissera aucune connexion Websocket. P>