草庐IT

javascript - 删除断开 socket.io 上的对象

我正在使用Nodejs和Socket.io。当客户端连接时,会创建新的JavaScript对象。这些对象会永远存在吗?当客户端断开连接时,它们应该被删除还是删除?甚至可以删除对象吗?我知道删除不起作用...谢谢-我想这是一个比较笼统的问题,任何建议都会很有帮助。谢谢! 最佳答案 如果您不清理,那么是的,它们将永远留在那里,因为我认为您正在使它们全局化。一旦用户断开连接,您应该通过绑定(bind)到disconnect事件监听器进行清理:varclients={}sockets.on('connection',function(soc

node.js - NodeJS + Socket.io 连接断开/重新连接?

在生产中,我有一个使用连接局部变量来保存游戏状态的游戏。但是我注意到,如果我在连接上闲置了一段时间,它会断开连接并重新连接,从而丢失当前状态。在本地主机上进行测试期间,我从未注意到这种行为。这是套接字连接的规范行为还是导致连接断开的其他原因。如果这是正常行为,通常如何处理?连接值是否应该全局存储,以便在用户断开/重新连接时可以恢复? 最佳答案 您的问题与套接字超时有关。如果某个socket没有事件,socket.io会自动关闭它。一个简单的(和骇人听闻的)修复方法是向连接的客户端发送心跳以创建事件并阻止套接字超时。服务器:funct

node.js - NodeJS + Socket.io 连接断开/重新连接?

在生产中,我有一个使用连接局部变量来保存游戏状态的游戏。但是我注意到,如果我在连接上闲置了一段时间,它会断开连接并重新连接,从而丢失当前状态。在本地主机上进行测试期间,我从未注意到这种行为。这是套接字连接的规范行为还是导致连接断开的其他原因。如果这是正常行为,通常如何处理?连接值是否应该全局存储,以便在用户断开/重新连接时可以恢复? 最佳答案 您的问题与套接字超时有关。如果某个socket没有事件,socket.io会自动关闭它。一个简单的(和骇人听闻的)修复方法是向连接的客户端发送心跳以创建事件并阻止套接字超时。服务器:funct

javascript - Socket.io 随机断开连接 (v1.0.6)

我正在使用最新版本的socket.io(1.0.6)使用Phaser和Node制作在线多人游戏。我的问题是,一旦客户端连接,他们偶尔会随机断开连接。似乎没有发生这种情况的特定情况。有时是在游戏完全空闲时,有时是在所有玩家向服务器发送输入时。通过检查socket.io的调试输出,我发现断开连接的原因是“ping超时”。具体来说,从socket.js库文件中触发了以下行:Socket.prototype.setPingTimeout=function(){varself=this;clearTimeout(self.pingTimeoutTimer);self.pingTimeoutTim

javascript - Socket.io 随机断开连接 (v1.0.6)

我正在使用最新版本的socket.io(1.0.6)使用Phaser和Node制作在线多人游戏。我的问题是,一旦客户端连接,他们偶尔会随机断开连接。似乎没有发生这种情况的特定情况。有时是在游戏完全空闲时,有时是在所有玩家向服务器发送输入时。通过检查socket.io的调试输出,我发现断开连接的原因是“ping超时”。具体来说,从socket.js库文件中触发了以下行:Socket.prototype.setPingTimeout=function(){varself=this;clearTimeout(self.pingTimeoutTimer);self.pingTimeoutTim

javascript - 如何检测 socket.io 上的断开连接?

我在我的项目中使用socket.io。我打开了重新连接功能。如果用户与服务器断开连接,我想显示警报(您的互联网连接丢失。尝试重新连接)。如果用户再次重新连接,我想再显示一个警报(别担心,您已连接)。我该怎么做? 最佳答案 在您使用的客户端上检测//CLIENTCODEsocket.on('disconnect',function(){//Dostuff(probablysomejQuery)});对于node.js服务器,它也与上面的代码完全相同。如果您出于某种原因想要检测用户断开连接并将其显示给其他人,您将需要使用服务器来检测离开

javascript - 如何检测 socket.io 上的断开连接?

我在我的项目中使用socket.io。我打开了重新连接功能。如果用户与服务器断开连接,我想显示警报(您的互联网连接丢失。尝试重新连接)。如果用户再次重新连接,我想再显示一个警报(别担心,您已连接)。我该怎么做? 最佳答案 在您使用的客户端上检测//CLIENTCODEsocket.on('disconnect',function(){//Dostuff(probablysomejQuery)});对于node.js服务器,它也与上面的代码完全相同。如果您出于某种原因想要检测用户断开连接并将其显示给其他人,您将需要使用服务器来检测离开

node.js - 何时断开连接以及何时结束 pg 客户端或池

我的堆栈是node、express和pg模块。我真的试图通过文档和一些过时的教程来理解。我不知道何时以及如何断开和结束客户端。对于某些路线,我决定使用游泳池。这是我的代码constpool=newpg.Pool({user:'pooluser',host:'localhost',database:'mydb',password:'pooluser',port:5432});pool.on('error',(err,client)=>{console.log('error',err);process.exit(-1);});app.get('/',(req,res)=>{pool.con

node.js - 何时断开连接以及何时结束 pg 客户端或池

我的堆栈是node、express和pg模块。我真的试图通过文档和一些过时的教程来理解。我不知道何时以及如何断开和结束客户端。对于某些路线,我决定使用游泳池。这是我的代码constpool=newpg.Pool({user:'pooluser',host:'localhost',database:'mydb',password:'pooluser',port:5432});pool.on('error',(err,client)=>{console.log('error',err);process.exit(-1);});app.get('/',(req,res)=>{pool.con

javascript - 继续让 [WDS] 断开连接!错误

我目前正在开始使用ReactJs。但是,我在控制台中遇到了以下错误,这些错误未在终端中显示:[WDS]Disconnected!sock.onclose@client?64c0:70EventTarget.dispatchEvent@eventtarget.js:49(anonymousfunction)@main.js:356abstract-xhr.js:128GEThttp://127.0.0.0/sockjs-node/info?t=1461853324372net::ERR_CONNECTION_TIMED_OUT它正在寻找我在本地和全局安装的“sockjs-node”,但没