Node.js 与angular的插座连接不工作

Node.js 与angular的插座连接不工作,node.js,angular,Node.js,Angular,我正在尝试使用socket创建一个应用程序,其中Angular和node.js作为后端应用程序。在后端,我可以看到连接正在建立/断开,但无法读取事件 这是我的服务器端节点.js代码: const server=require(“http”).createServer(); const io=require(“socket.io”)(服务器); io.on(“连接”,(客户端)=>{ //console.log(客户端); client.emit(“message”、“hellow world”)

我正在尝试使用socket创建一个应用程序,其中Angular和node.js作为后端应用程序。在后端,我可以看到连接正在建立/断开,但无法读取事件

这是我的服务器端节点.js代码:

const server=require(“http”).createServer();
const io=require(“socket.io”)(服务器);
io.on(“连接”,(客户端)=>{
//console.log(客户端);
client.emit(“message”、“hellow world”);
client.on(“消息”,(数据)=>{
控制台日志(数据);
client.emit(“message”、“hellow world”);
});
on(“断开连接”,()=>{});
});
听(3000);
这是我在Angular代码库中添加的服务文件:

从“@angular/core”导入{Injectable};
从“rxjs”导入{observeable};
从“Socket.io客户端”导入{io,Socket};
@可注射()
出口类聊天室服务{
专用插座:插座;
构造函数(){
this.socket=io(“http://127.0.0.1:3000");
this.socket.on(“连接”,函数(){
console.log(“已连接!”);
});
}
//发射器
sendMessage(消息:字符串){
//this.socket.connect();
console.log(this.socket);
emit(“message”,{message:msg});
}
//处理者
onNewMessage(){
返回新的可观察对象((观察者)=>{
this.socket.on(“message”,(msg)=>{
控制台日志(msg);
下一个观察员(msg);
});
});
}
}
在记录this.socket时,我可以看到以下对象:

acks: {}
connected: false
disconnected: true
flags: {}
ids: 0
io: Manager {nsps: {…}, subs: Array(1), opts: {…}, _reconnection: true, _reconnectionAttempts: Infinity, …}
nsp: "/"
我的代码怎么了?
提前感谢。

请将socket io client与版本2.3.1一起使用,然后重试。

客户端和服务器套接字版本不同,这是导致问题的原因。更改为两侧兼容的套接字版本解决了问题。

为什么不使用ngx socket io而不是socket。io-client更专用于角度项目,@RebaiAhmed:我也用过,这也有同样的问题。错误由varsion differance引起。你是指版本差异吗?嗨@Era,你解决了吗?