Partage
  • Partager sur Facebook
  • Partager sur Twitter

socket-io et mobile

Sujet résolu
    8 janvier 2018 à 16:58:03

    Bonjour,


    Je suis en train de réaliser un site responsive contenant des Websockets (socket-io). Ces sockets me servent à gérer un chat. Je travail sur serveur local avec NodeJS.


    Je suis rentré en phase de tests. J'ai essayé de faire fonctionner mes websockets avec plusieurs pages d'ouvertes sur mon poste principal et aussi depuis un second poste. Tout fonctionne très bien :). Malheureusement, plus rien ne fonctionne quand j'arrive sur un support tactile type smartphone ou tablette :'(. Les websockets bloquent tous. Impossible interagir avec le site. Si par exemple une page contient une websocket comme ci-dessous elle en fonctionne pas :

    //Send to server that a socket.room have to be created
    socket.emit('getFullConv', { fullProject, getPseudo, card });


    Par contre, si je l’enlevé, plus de problème. Je peux interagir avec le site sans probleme mais sans les fonctionnalités utilisant mes websockets :euh:.


    SERVER :

    var express = require('express');
    var app = express();
    
    //create server
    var http = require('http');
    var fs = require('fs');
    var server = http.createServer(app);
    
    
    
    connection.connect(function (error) {
        if (error) throw error
        else { console.log('All is under controle =)'); }
    });
    
    
    app.use('/static', express.static(__dirname + '/public'));
    
    
    // Chargement de socket.io
    
    var io = require('socket.io').listen(server);
    // usernames which are currently connected to the chat
    var users = {};
    
    // rooms which are currently available in chat
    var rooms = [];
    
    
    
    
    io.sockets.on('connection', function (socket) {
    
    
        // when the client emits 'getFullcoversation', this listens and executes
        socket.on('getFullConversation', function (info) {}
    });
    
    server.listen(8080);

    CLIENT :

    // Connexion à socket.io
    var socket = io.connect('http://MON_IP:8080/');
    
    
    
    socket.on('fullMsgChat', function (results) {});

    PAGE INDEX.EJS:

    <script type="text/javascript" src="socket.io/socket.io.js"></script>

    Donc ces lignes font que ça fonctionne sur ordinateur, mais pas sur mobile ou tablette.

    Pouvez-vous me m'aidez s'il vous plait ?

    • Partager sur Facebook
    • Partager sur Twitter
      11 janvier 2018 à 11:50:43

      Après tout ce temps, j'ai réussi à résoudre le probleme. Maintenant, tout marche correctement :ange:.


      Le blocage résidait dans l'écriture de mes socket.emit() qui n'étaient pas correctes ^^.

      Au lieu d'écrire :

      //Send to server that a socket.room have to be created
       socket.emit('getFullConv', { fullProject, getPseudo, card });

      il faut écrire :

      //Send to server that a socket.room have to be created
       socket.emit('getFullConv', { fullProject : fullProject, getPseudo : getPseudo, card : card });

      La première écriture s’exécute très bien sur le desktop, mais pas sur mobile ou tablette. Dans mon cas, il me faut utiliser la deuxième écriture pour que le script fonctionne sur tous les supports :zorro:.

      • Partager sur Facebook
      • Partager sur Twitter

      socket-io et mobile

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown