gpt4 book ai didi

node.js - 无法获取/socket.io/?EIO=3&transport=polling&t=LdmmKYz

转载 作者:IT老高 更新时间:2023-10-28 23:18:18 35 4
gpt4 key购买 nike

我的 node.js 服务器和我的 ionic 2 与 socket.io (websocket) 通信有问题。

我的 ionic 应用发送此错误:

Cannot GET /socket.io/?EIO=3&transport=polling&t=LdmmKYz

这是我的代码,我没有发现我的错误。

我的 node.js 代码(使用 express):

var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.use( (req, res, next) => {
res.header("Access-Control-Allow-Origin", "http://localhost:8100"); //The ionic server
res.header("Access-Control-Allow-Credentials", "true");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
var port = Number(process.env.PORT || 8810);

io.on('connection', function (socket) {
console.log('ping-pong started');
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});

这是 ionic 2 应用程序代码(在构造函数中):

this.connect = () => {
this.socket = io('http://localhost:8810');
console.log('socket started');

this.socket.emit('connect', {data: 'data'});
this.socket.on('news', (data)=>{
console.log(data);
this.socket.emit('my other event', { my: 'data' });
});
}
this.connect();

我错过了什么?

最佳答案

我发现了我的问题!

我的问题出在服务器代码上:

var server = app.listen(8810)
var io = require('socket.io').listen(server);

这就是问题所在。

我需要定义 socket.io 在没有它的情况下监听套接字失败的位置。

更改它,错误就会消失。

关于node.js - 无法获取/socket.io/?EIO=3&transport=polling&t=LdmmKYz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41943929/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com