GIS and Media fusion

"The explosive growth of the GeoWeb and geographic information has made GIS powerful media for the general public to communicate, but perhaps more importantly, GIS have also become media for constructive dialogs and interactions about social issues." - Sui & Goodchild

User Tools

Site Tools


ajax:websocket

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ajax:websocket [2011/05/31 07:46]
jfreyre rename a variable
ajax:websocket [2018/05/15 17:18] (current)
Line 1: Line 1:
 ====== HTML5 & Web socket ====== ====== HTML5 & Web socket ======
 +
 +Présentation : {{:​ajax:​websockets.pdf|}}
  
 ===== HTML5 ===== ===== HTML5 =====
Line 204: Line 206:
 ====3 - Simple IRC ==== ====3 - Simple IRC ====
 [[http://​poulpe.heig-vd.ch/​masrad/​websockets/​3-irc|Lien sur l'​application]] [[http://​poulpe.heig-vd.ch/​masrad/​websockets/​3-irc|Lien sur l'​application]]
 +
 +Télécharger l'​exemple:​ {{:​ajax:​3-irc-simple.zip|}}
  
 === Description === === Description ===
Line 210: Line 214:
   * D'​enregistrer les nouveaux clients. ​   * D'​enregistrer les nouveaux clients. ​
   * Broadcaster l'​arrivée de quelqu'​un. ​   * Broadcaster l'​arrivée de quelqu'​un. ​
-  * Broadcaster les messages des utilisateurs ​+  * Broadcaster les messages des utilisateurs ​
 +  * Gérer la déconnexion d'un utilisateur.
  
-De leur côtés, les clients doivent être en mesure de :+De leur côté, les clients doivent être en mesure de :
   * Effectuer une connexion au serveur   * Effectuer une connexion au serveur
-  * Transmettre des messages ​à tout le monde +  * Transmettre des messages ​au serveur 
-  * Récupérer ​les messages+  * Lire les messages ​reçu
  
 === Côté Client === === Côté Client ===
  
 <code javascript>​ <code javascript>​
-var wsUri = "​ws://​monserveur:​monport/​echo"; ​+var wsUri = "​ws://​monserveur:​monport/​application"; ​
 var output;  ​ var output;  ​
  
Line 272: Line 277:
  
 === Côté Serveur === === Côté Serveur ===
 +
 +Du côté du serveur, nous avons volontairement choisi d'​utiliser un format d'​échange standard pour les communications. En effet, nous aurions pu simplement renvoyer le message "​ip_client:​port_client écrit :'​Hello World'"​. Toutefois, nous ne maîtrisons pas toujours qui utilise nos services. Fort de ce constat, nous préférons utiliser des objets sérialisés en JSON. 
 +
 <code php> <code php>
  public function onData($data,​ $client) {  public function onData($data,​ $client) {
Line 308: Line 316:
 </​code>​ </​code>​
  
 +Solution : {{:​ajax:​4-irc-crossbrowser.zip|}}
  
 ===== Les exercices ===== ===== Les exercices =====
Line 315: Line 324:
 En se basant sur l'​exemple 1 et en modifiant {{:​ajax:​ex-hash-template.zip|}},​ faire en sorte que le client envoie une chaine de caractères au serveur. Celui-ci lui renverra le hash md5 de la valeur au client qui l'​affichera. En se basant sur l'​exemple 1 et en modifiant {{:​ajax:​ex-hash-template.zip|}},​ faire en sorte que le client envoie une chaine de caractères au serveur. Celui-ci lui renverra le hash md5 de la valeur au client qui l'​affichera.
  
 +Solution : {{:​ajax:​ex-hash-solution.zip|}}
  
 ==== IRC++ ==== ==== IRC++ ====
Line 323: Line 333:
   * Les clients reçoivent et mettent à jour la liste des personnes connectées uniquement lorsque cela est nécessaire ​   * Les clients reçoivent et mettent à jour la liste des personnes connectées uniquement lorsque cela est nécessaire ​
  
 +
 +Solution: {{:​ajax:​ex-irc-solution.zip|}}
 +
 +===== Docs, Démo, etc... =====
 +  * http://​www.html5rocks.com/​ présente beaucoup d'​informations à propos de html5 et de toutes ces APIs
 +  * http://​dev.w3.org/​html5/​websockets/​ Draft de l'API WebSocket
  
  
ajax/websocket.1306820806.txt.gz · Last modified: 2018/05/15 17:17 (external edit)