J'essaie de me connecter à un socket.io-client en utilisant le code suivant :
Serveur:
// Exigences de charge
var http = nécessite('http'),
io = require('socket.io');
// Créer un serveur et un socket
var serveur = http.createServer(fonction(req, res){
// Send HTML headers and message
res.writeHead(404, {'Content-Type': 'text/html'});
res.end('<h1>Aw, snap! 404</h1>');
});
serveur.écoute(8080);
io = io.listen(serveur);
// Ajout d'un écouteur de connexion
io.sockets.on('connexion', fonction(socket) {
console.log('Client connected.');
// Disconnect listener
socket.on('disconnect', function() {
console.log('Client disconnected.');
});
});
Client:
console.log('1');
// Connecter au serveur
var io = require('socket.io-client')
var socket = io.connect('localhost:8080', {reconnect: true});
console.log('2');
// Ajout d'un écouteur de connexion
socket.on('connecter', fonction(socket) {
console.log('Connecté !');
});
console.log('3');
Je ne reçois pas le journal de la console connectée ou le journal de la console client connectée et je ne sais pas pourquoi ! L'exemple de code est tiré d'une autre question postée : Lien et je ne vois aucune solution au problème...
// Connecter au serveur
var io = require('socket.io-client')
var socket = io.connect('localhost:8080', {reconnect: true});
Utiliser comme ça
// Connecter au serveur
var io = require('socket.io-client')
var socket = io.connect('http://localhost:8080', {reconnecter : true});
J'ai le même problème. Après avoir ajouté les lignes ci-dessous, le problème de connexion n'est pas résolu.
var io = require('socket.io-client')
var socket = io.connect('http://localhost:8080', {reconnecter : true});
Même problème. Ça marche aussi pour moi...
J'ai le même problème, n'a pas fonctionné
Je suis passé de localhost à 127.0.0.1 et cela a fonctionné.
Je suis passé de localhost à 127.0.0.1 et cela a fonctionné.
Cela n'a pas fonctionné pour moi.
Pour les futurs lecteurs, vous devez spécifier explicitement le protocole (car le processus Node.js n'a pas d'objet window.location
il pourrait déduire le protocole, ce qui est fait dans le navigateur ici ).
// does not work
io.connect("localhost:8080");
// does work
io.connect("http://localhost:8080");
Cela étant dit, je pense que le client devrait générer une erreur au lieu d'échouer en silence.
Commentaire le plus utile
Je suis passé de localhost à 127.0.0.1 et cela a fonctionné.