gpt4 book ai didi

node.js - socket.io 自动断开套接字

转载 作者:太空宇宙 更新时间:2023-11-04 00:30:52 25 4
gpt4 key购买 nike

当我在电子中运行socket.io时,我不断在开发者控制台中收到此错误。

engine.io-client:socket probe transport "websocket" failed because of error: transport closed +6s

当我建立它时,套接字总是立即断开连接。我的客户端甚至在连接建立后一两分钟后才得到我所做的socket.emit。

客户端和服务器使用相同版本的socket.io。

服务器:

io.on('connection', function(socket){
socket.emit('got it','');
console.log('Socket connection established');
});

客户:

var socket = require('socket.io-client')('http://localhost:3000');
console.log(socket);
socket.on('got it', function(a){
console.log('connected');
console.log(socket);
})

这不是完整的代码,但除了一些不应该影响连接的其他监听器之外,没有其他任何内容与 websocket 交互。

服务器没有显示任何问题。每次有人连接时它都会告诉我,但当我尝试以任何一种方式发出任何内容时,接收者都不会立即收到它。每次我单击发送发送的按钮时,我都会看到“发送带有 ack id x 的数据包”,但服务器看不到它。这个问题是间歇性的,好像我稍等一下服务器和客户端就能够连接,但在一段时间后它们仍然随机断开连接。

最佳答案

我通过添加解决了这个问题

{transports: ['websocket'], upgrade: false}

作为实例化客户端时的选项。

来自https://stackoverflow.com/a/28240802/4726265的回答

关于node.js - socket.io 自动断开套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40991599/

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