Socket.io-client: Node js - Socket.io-client não está se conectando ao servidor socket.io

Criado em 17 mar. 2015  ·  7Comentários  ·  Fonte: socketio/socket.io-client

Estou tentando me conectar a um socket.io-client usando o seguinte código:

Servidor:

// Requisitos de carga
var http = require('http'),
io = require('socket.io');

// Cria servidor e socket
var server = http.createServer(function(req, res){

// Send HTML headers and message
res.writeHead(404, {'Content-Type': 'text/html'});
res.end('<h1>Aw, snap! 404</h1>');

});
server.listen(8080);
io = io.listen(servidor);

// Adiciona um listener de conexão
io.sockets.on('conexão', function(socket) {

console.log('Client connected.');

// Disconnect listener
socket.on('disconnect', function() {
    console.log('Client disconnected.');
});

});

Cliente:

console.log('1');

// Conecte-se ao servidor
var io = require('socket.io-client')
var socket = io.connect('localhost:8080', {reconnect: true});

console.log('2');

// Adiciona um listener de conexão
socket.on('conectar', function(socket) {
console.log('Conectado!');
});

console.log('3');

Não recebo o log do console conectado ou o log do console conectado ao cliente e não sei por quê! O exemplo de código é retirado de outra pergunta postada: Link e não vejo nenhuma solução para o problema ...

http://stackoverflow.com/questions/29108594/node-js-socket-io-client-is-not-connecting-to-socket-io-server

Comentários muito úteis

Mudei de localhost para 127.0.0.1 e funcionou.

Todos 7 comentários

// Conecte-se ao servidor
var io = require('socket.io-client')
var socket = io.connect('localhost:8080', {reconnect: true});

Usar assim

// Conecte-se ao servidor
var io = require('socket.io-client')
var socket = io.connect('http://localhost:8080', {reconnect: true});

Eu tenho o mesmo problema. Depois de adicionar as linhas abaixo, também problema de conexão não resolvido.

var io = require('socket.io-client')
var socket = io.connect('http://localhost:8080', {reconnect: true});

O mesmo problema. Funciona para mim também...

Estou com o mesmo problema, não funcionou

Mudei de localhost para 127.0.0.1 e funcionou.

Mudei de localhost para 127.0.0.1 e funcionou.

Não funcionou para mim .

Para futuros leitores, você precisa especificar explicitamente o protocolo (já que o processo Node.js não tem nenhum objeto window.location do qual possa deduzir o protocolo, que é o que é feito no navegador aqui ).

// does not work
io.connect("localhost:8080");
// does work
io.connect("http://localhost:8080");

Dito isto, acho que o cliente deve lançar um erro em vez de falhar silenciosamente.

Esta página foi útil?
0 / 5 - 0 avaliações