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 ...
// 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.
Comentários muito úteis
Mudei de localhost para 127.0.0.1 e funcionou.