我正在尝试使用以下代码连接到 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');
我没有得到连接的控制台日志或客户端连接的控制台日志,我不知道为什么! 代码示例取自发布的另一个问题:链接,我没有看到任何问题的解决方案......
// 连接到服务器
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");
话虽如此,我认为客户端应该抛出错误而不是默默地失败。
最有用的评论
我从 localhost 更改为 127.0.0.1 并且它有效。