当我在电子中运行 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);
})
这不是完整的代码,但除了一些其他不应影响连接的侦听器之外,没有其他与websockets交互的内容。
服务器没有显示任何问题。它告诉我每次有人连接,但当我尝试以任何一种方式发送任何内容时,接收者都不会立即收到。每次我点击发送发射的按钮时,我都会看到“发送带有ack id x的数据包”,但服务器没有看到它。这个问题是间歇性的,好像我稍等片刻,服务器和客户端就可以连接了,但它们仍然会在一段时间后随机断开连接。
正确更改 socket.io 客户端版本。
npm i socket.io-client@v2-latest --save
我通过添加
{transports: ['websocket'], upgrade: false}
作为实例化客户端时的选项。
来自 https://stackoverflow.com/a/28240802/4726265 的回答
问题内容: 我有一个socket.io节点脚本,其中: 当我连接Chrome / Safari并关闭页面时,看到“断开连接!” 在我的服务器控制台中。 但是,当我连接iPhone并关闭页面时,看不到此消息。我懂了 如何通过iOS接收断开连接事件? 问题答案: 当您在iPhone中查看页面时,Socket.io切换到xhr-polling传输。这可能是由socket.io的配置引起的,或者是由于iP
问题内容: 我在客户端上将nodejs与socket.io和angularjs一起使用。我从互联网上获取了angular- socketio示例,并向其中添加了方法。 套接字服务: 控制器: 但是,当我尝试使用此方法断开连接时,出现错误: 而且我不知道在哪里挖…… 问题答案: [更新] 是Angular的内部私有变量,因此您不应该真正依赖于此类事情。伊戈尔在另一个答案中描述了一些处理此问题的建议,
我正在使用合流从atlassian和我需要一个方法来修改文本大小,家庭,和颜色使用一个用户宏。我将我的宏定义如下: 现在用户可以这样选择这个宏“stylish”: 但是汇流自动添加新行 下面是编辑模式下的屏幕快照: 我内联选择了它,并发布了页面。结果仍然显示一行,另一行,最后在另一行。Atlassian Confluence 5.4.4此宏应该像标记一样工作,这样项就不会以块样式元素的形式出现。
如果您在使用安卓手机投屏时出现了自动断开的问题,可能是开启了手机的省电模式,自动断开了投屏。建议您参考以下步骤进行操作。 华为手机省电策略 小米手机省电策略 OPPO手机省电策略 vivo手机省电策略 三星手机省电策略 锤子手机省电策略
当用户关闭选项卡或重新加载页面时,disconnect事件应该会触发,但当通过Nginx和CloudFlare传递连接时,则不会触发。提前感谢您的帮助! 更新:似乎在重新加载/关闭断开连接事件后的几秒钟内最终注册。
问题内容: 我使用和创建一个实时Web应用程序。我将为用户提供对套接字连接的完全控制,例如手动断开连接和(重新)连接。 在客户端启动时,该功能可以正常运行,但是在使用之后,不会启动新连接。 问题答案: 现在可以使用socket.socket.reconnect() 相关:https : //github.com/LearnBoost/socket.io- client/issues/251