IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

Application chat sur raspberry pi 3


Sujet :

NodeJS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 27
    Points : 23
    Points
    23
    Par défaut Application chat sur raspberry pi 3
    Bonjour,
    j'ai suivi les instructions pour créer un application chat sur mon raspberry pi 3 modèle b sous rasbian. Cependant, je rencontre un problème et mon niveau de connaissance en node est limité à ce que j'ai lu pour créer l'application. Si quelqu'un est capable de m'aider cela serait bien apprécier pour un débutant comme moi qui veux apprendre.

    Le problème est le suivant:
    /home/pi/chat-example/node_modules/socket.io/node_modules/engine.io/node_modules/uws.js:3
    const http = require('http'):
    ^^^^^
    syntaxError: use of const in strict mode.
    Nom : grrrr.PNG
Affichages : 384
Taille : 16,8 Ko

    code index.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var app = require('express')();
    var http = require('http').Server(app);
    var io = require('socket.io')(http);
    var port = process.env.PORT || 3000;
     
    app.get('/', function(req, res){
    	res.sendFile(__dirname + '/index.html');
    });
     
    io.on('connection', function(socket){
    	socket.on('chat message', function(msg){
    		io.emit('chat message', msg);
    	});
    });
     
    http.listen(port, function(){
    	console.log('listening on *:' + port);
    });
    code package.json
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {
    "name":"socket-chat-example",
    "version":"0.0.1",
    "description":"my first socket.io app",
    "dependence":{
    	"express":"^4.15.2",
    	"socket.io"
    	},
    "scripts":{
    	"start": "node index.js"
    	}
    }
    code index.html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <!doctype html>
    <html>
    	<head>
    		<title>Socket.IO chat</title>
    		<style>
                    * { margin: 0; padding: 0; box-sizing: border-box; }
                    body { front: 13px Helvetica, Arial; }
                    from { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
                    from input { border: 0; padding: 10px; width:90%; margin-right:.5%; }
                    from button { width: 9%; background: rgb(130,224,255); border: none; padding: 10px; }
                    #messages { list-style-type: none; margin:0; padding:0; }
                    #messages li { padding:5px 10px; }
                    #messages  li:nth-child(odd) { background: #eee; }
                    #message { margin-bottom: 40px }
                    </style>
    	</head>
    	<body>
    		<ul id="message"></ul>
    		<form action="">
    			<input id="m" autocomplete="off"/><button>Send</button>
    		</form>
    		<script src="/socket.io/socket.io.js"></script>
    		<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
     
    		<script>
                            $(function(){
                                    var socket = io();
                                    $('from').submit(function(){
                                            socket.emit('chat message',$('#m').val());
                                            $('#m').val('');
                                            return false;
                                    });
                                    socket.on('chat message', function(msg){
                                            $('#message').append($('<li>').text(msg));
                                            window.scrollTo(0,document.body.scrollHeight);
                                    });
                            });
                    </script>
    	</body>
    </html>

    code app.json
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    {
      "name": "Socket-Chat-Example",
      "description": "my first socket.io app",
      "website": "https://github.com/socketio/chat-example",
      "repository": "https://github.com/socketio/chat-example",
      "logo": "https://node-js-sample.herokuapp.com/node.svg",
      "success_url": "/",
      "keywords": [
        "node",
        "express",
        "socket.io",
        "realtime",
        "websocket"
      ],
      "scripts": {
      },
      "addons": [
      ],
      "env": {
        "BUILDPACK_URL": "https://github.com/heroku/heroku-buildpack-nodejs"
      }
    }

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Salut ça donne quoi si tu fait :
    Code sh : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    node --harmony index.js

    Si ça ne marche pas essaye d'installer ses dépendances :
    Code sh : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    npm install --save-dev babel-cli babel-preset-env
    node --harmony index.js

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 27
    Points : 23
    Points
    23
    Par défaut
    Merci headmax ta première solution fonction parfaitement. J'ai aussi corriger les multiples erreurs de frappe que j'ai fait. Si ce n'est pas trop abuser de ton temps, j'aimerais comprendre le pourquoi j'ai besoin de la commande --harmony pour que sa marche?

  4. #4
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mathieupicard Voir le message
    Si ce n'est pas trop abuser de ton temps, j'aimerais comprendre le pourquoi j'ai besoin de la commande --harmony pour que sa marche?
    En fait const et let font partie d'ECMAScript 2015 (a.k.a. ES6 et Harmony), et n'est pas activé par défaut dans Node.js 0.10 or 0.12. jusqu'àux version Node.js 4.x toutes les version supérieur non pas besoins de se flag d'exécution --harmony

  5. #5
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Mettre à jour ta version de Node.js serait peut être une bonne idée !
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/05/2016, 10h46
  2. Tango : première application de vidéo chat sur Windows Phone
    Par Hinault Romaric dans le forum Windows Phone
    Réponses: 3
    Dernier message: 27/10/2011, 20h19
  3. SSH invoquer application graphique sur serveur distant
    Par knecmotet dans le forum Réseau
    Réponses: 7
    Dernier message: 07/09/2008, 19h33
  4. [Intraweb] Déployer une application intraweb sur IIS ?
    Par maxgar dans le forum Web & réseau
    Réponses: 9
    Dernier message: 21/07/2004, 14h21
  5. Application Portable sur differents types de BDD
    Par sylvain_2020 dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 23/09/2003, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo