Socket.io-client: 节点 js - Socket.io-client 未连接到 socket.io 服务器

创建于 2015-03-17  ·  7评论  ·  资料来源: socketio/socket.io-client

我正在尝试使用以下代码连接到 socket.io-client:

服务器:

// 加载要求
var http = 要求('http'),
io = 需要('socket.io');

// 创建服务器和套接字
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(服务器);

// 添加连接监听器
io.sockets.on('连接', function(socket) {

console.log('Client connected.');

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

});

客户:

控制台.log('1');

// 连接到服务器
var io = require('socket.io-client')
var socket = io.connect('localhost:8080', {reconnect: true});

控制台.log('2');

// 添加连接监听器
socket.on('connect', function(socket) {
console.log('已连接!');
});

控制台.log('3');

我没有得到连接的控制台日志或客户端连接的控制台日志,我不知道为什么! 代码示例取自发布的另一个问题:链接,我没有看到任何问题的解决方案......

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

最有用的评论

我从 localhost 更改为 127.0.0.1 并且它有效。

所有7条评论

// 连接到服务器
var io = require('socket.io-client')
var socket = io.connect('localhost:8080', {reconnect: true});

像这样使用

// 连接到服务器
var io = require('socket.io-client')
var socket = io.connect('http://localhost:8080', {reconnect: true});

我有同样的问题。添加以下行后,连接问题也未解决。

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

同样的问题。 对我也有用...

我也有同样的问题,没用

我从 localhost 更改为 127.0.0.1 并且它有效。

我从 localhost 更改为 127.0.0.1 并且它有效。

它对我不起作用。

对于未来的读者,您需要明确指定协议(因为 Node.js 进程没有window.location对象,它可以从中推断出协议,这就是在浏览器中所做工作)。

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

话虽如此,我认为客户端应该抛出错误而不是默默地失败。

此页面是否有帮助?
0 / 5 - 0 等级