草庐IT

socket_protect

全部标签

node.js - socket.io 中的 emit 方法的成功回调

我正在尝试从我的客户发出自定义消息。我需要对其成功和失败执行一些操作。现在,如何将成功回调附加到emit方法?对于错误回调,我使用了Exposedevents文档并让它工作socket.on('error',()->console.log("ErrorOccured"))为了成功,我试过了socket.emit('mycustommethod',{content:json},()->console.log("Emitted"))无论成功还是失败,都不会触发此回调。如何获取成功处理程序? 最佳答案 如果您查看文档,它会显示一个传递回调

node.js - 垂直和水平缩放 Socket.io - "right"的方法是什么?

我想垂直和水平扩展我的Node.jsSocket应用程序,但我还没有找到复杂的解决方案。我的应用程序有两个用例:从一个用户向所有其他用户广播消息将消息从一个用户推送到一部分用户一方面,我读到我需要Redis来处理两种情况以及socket.io-redis另一方面,我看过thisvideo并阅读SOanswer它说Redis不可靠并且它不保证发布的消息会到达,因此您应该仅将其用于集群/垂直缩放使用ServiceBus的MicrosoftAzure解决方案是毫无疑问的,因为我不想使用Azure。这家伙建议使用RabbitMQ而不是Redis用于水平缩放。对于垂直缩放,还有socket.io

node.js - 垂直和水平缩放 Socket.io - "right"的方法是什么?

我想垂直和水平扩展我的Node.jsSocket应用程序,但我还没有找到复杂的解决方案。我的应用程序有两个用例:从一个用户向所有其他用户广播消息将消息从一个用户推送到一部分用户一方面,我读到我需要Redis来处理两种情况以及socket.io-redis另一方面,我看过thisvideo并阅读SOanswer它说Redis不可靠并且它不保证发布的消息会到达,因此您应该仅将其用于集群/垂直缩放使用ServiceBus的MicrosoftAzure解决方案是毫无疑问的,因为我不想使用Azure。这家伙建议使用RabbitMQ而不是Redis用于水平缩放。对于垂直缩放,还有socket.io

javascript - Nodejs Socket 挂断和 ECONNRESET - 从 Meteor 到 Node js 服务器的 HTTP 发布请求

我正在使用Node服务器来处理我的所有推送通知服务,例如gcm和apn。我有2台不同的服务器。一个运行Meteor,另一个运行Node.JS来处理推送通知。(两者都是不同的服务器)我的主应用在Meteor服务器上运行。我向node.js服务器发出HTTP发布请求以发送我的通知。通常它工作正常,但有时在Meteor服务器上,每当我调用node.js服务器时都会收到此错误:sockethangup\natObject.Future.wait(/home/myPc/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web

javascript - Nodejs Socket 挂断和 ECONNRESET - 从 Meteor 到 Node js 服务器的 HTTP 发布请求

我正在使用Node服务器来处理我的所有推送通知服务,例如gcm和apn。我有2台不同的服务器。一个运行Meteor,另一个运行Node.JS来处理推送通知。(两者都是不同的服务器)我的主应用在Meteor服务器上运行。我向node.js服务器发出HTTP发布请求以发送我的通知。通常它工作正常,但有时在Meteor服务器上,每当我调用node.js服务器时都会收到此错误:sockethangup\natObject.Future.wait(/home/myPc/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web

node.js - 如何将 socket.io 与 webpack-hot-middleware 一起使用?

我有一个Koa服务器使用webpack-dev-middleware和webpack-hot-middleware进行热模块替换(HMR),所以中间件使用websocket将更改推送到客户端。但我的应用程序代码还需要在客户端和Koa服务器之间建立自己的websocket连接。我不知道如何实现这一目标?好像两者是矛盾的。我可以让它们并排吗?我的服务器代码看起来像这样constcompiler=webpack(webpackConfig)constapp=newKoa()app.use(webpackDevMiddleware(compiler,{quiet:true,noInfo:tru

node.js - 如何将 socket.io 与 webpack-hot-middleware 一起使用?

我有一个Koa服务器使用webpack-dev-middleware和webpack-hot-middleware进行热模块替换(HMR),所以中间件使用websocket将更改推送到客户端。但我的应用程序代码还需要在客户端和Koa服务器之间建立自己的websocket连接。我不知道如何实现这一目标?好像两者是矛盾的。我可以让它们并排吗?我的服务器代码看起来像这样constcompiler=webpack(webpackConfig)constapp=newKoa()app.use(webpackDevMiddleware(compiler,{quiet:true,noInfo:tru

javascript - socket.send 在 io.sockets.on() 之外

我有一个连续查询数据库的循环。当查询返回结果时,node.js应用程序将向通过socket.iov0.8连接到Node服务器的每个客户端发送一条消息。问题:io.sockets.broadcast.send('msg')在setInterval()循环中间被调用,所以它不在io.sockets.on()的回调函数中,因此这不起作用。当使用io.sockets.send('msg')时,似乎没有消息发送到客户端。Node.js代码setInterval(function(){util.log('Checkingfornewjobs...');dbCheckQueue(function(r

javascript - socket.send 在 io.sockets.on() 之外

我有一个连续查询数据库的循环。当查询返回结果时,node.js应用程序将向通过socket.iov0.8连接到Node服务器的每个客户端发送一条消息。问题:io.sockets.broadcast.send('msg')在setInterval()循环中间被调用,所以它不在io.sockets.on()的回调函数中,因此这不起作用。当使用io.sockets.send('msg')时,似乎没有消息发送到客户端。Node.js代码setInterval(function(){util.log('Checkingfornewjobs...');dbCheckQueue(function(r

node.js - 处理浏览器重新加载 socket.io

socket.io中有一种方法可以在断开连接的事件中创建一个超时,然后检查用户是否已经重新连接?这个想法是只有当用户在超时后没有重新连接时才发出数据/将用户状态保存在数据库中编辑:遵循@AreWojciechowski的回答,我已经完成了多标签和F5洪水处理程序https://gist.github.com/foohey/7696811 最佳答案 有一个socket.on('disconnect',function(){...});。所以你可以做socket.on('disconnect',function(){setTimeout