草庐IT

同步Socket

全部标签

javascript - 在 expressjs 路由中使用 socket.io 而不是在主 server.js 文件中

我有express/nodejsapi。我正在向它添加socket.io功能。目前我所有的路由都在单独的文件夹中,我将它们包含在server.js文件中并将它们用作app.use()函数。在server.js文件中,我还通过监听特定端口(例如3000,如下所示)来启动express服务器。letserver=app.listen(3000);根据所有谷歌搜索,我发现我需要传递服务器变量来初始化socket.io,如下所示。letio=require('socket.io')(server);现在的问题是,既然它需要这个变量,那么我如何在不同文件夹中的路由文件中使用socket.io来发

javascript - 如何调用父主干同步方法

在我的应用程序中,我按如下方式覆盖了Backbone.sync:Backbone.sync=function(method,model,options){//Somecustomcode//THISFAILS.Backbone.prototype.sync.call(this,method,model,options);}}我的问题是,如何调用原始同步方法?我需要改用this.sync吗? 最佳答案 据我了解,Backbone.sync检查是否存在本地定义的同步版本,并在调用全局Backbone.sync之前调用它:(this.sy

javascript - Socket.io 1.0 + express 4.2 = 无套接字连接

如标题所述,我正在尝试将socket.io1.0.4与express4.2一起使用,所有/?EIO请求都返回404。下面是我的文件:./bin/www:#!/usr/bin/envnodevardebug=require('debug')('generated-express-app');varapp=require('../app');app.set('port',process.env.PORT||3000);varserver=app.listen(app.get('port'),function(){debug('Expressserverlisteningonport'+se

javascript - 与其他模块共享 socket.io 会给出空对象

我正在尝试在不同的node.js模块中共享socket.io的套接字对象,尽管我失败了并且得到了空对象Cannotcallmethod'on'ofundefined我的代码:app.jsvarexpress=require('express'),app=express();varserver=require('http').createServer(app),io=require('socket.io').listen(server)varroutes=require('./routes'),path=require('path'),rss=require('./routes/rss'

javascript - Socket.io:使用套接字 ID 检查连接状态

我有一个连接的套接字ID。我可以在另一个连接的函数处理程序中获取该连接的状态吗?像这样:io.sockets.on('connection',function(socket){/*havingthesocketidof*another*connection,Ican*checkitsstatushere.*/io.sockets[other_socket_id].status}有办法吗? 最佳答案 对于高于1.0的版本,请查看KaranKapoor的回答。对于旧版本,您可以使用io.sockets.sockets[a_socket_

javascript - 同步事件多路分解如何成为繁忙等待的解决方案?

我正在尝试了解同步事件多路分解如何成为繁忙等待的解决方案。假设有3个IO操作,我们有一段代码不断循环检查这3个操作中是否有数据可供读取。arry=[event1,event2,event3]while(arryisnotempty){for(i=0;i上面的伪代码做了一个忙碌的等待。现在,在同步事件多路分解或react器模式中,事件监听器会在事件发生时对其做出响应。但是事件监听器如何在不忙等待的情况下做到这一点? 最佳答案 进程是已执行的计算机程序的实例(执行任务或模块)。在一个进程中,我们可以有多个称为线程的组件。您可以将线程想象

javascript - 使用jQuery promise模拟同步调用

我一直在使用bootbox.js库,异步操作,但我需要以同步方式使用它(例如,在提交表单之前设置一个“确认”窗口)。我不想使用e.preventDefault()取消事件,我想推迟操作直到用户响应模态。目前该库不支持它,但我很好奇是否可以使用promises模拟同步行为?这是一个非常基本的示例,使用链接(而不是表单提交按钮,这是我的最终目标):http://plnkr.co/edit/5NovsuKTeQ7y6SKNTwWp?p=preview 最佳答案 不,这根本不是promise的作用。Promises在这里无法为您提供帮助。链

javascript - socket.io 的断开、关闭和销毁方法之间的区别

我正在使用node.js开发一个简单的聊天应用程序&socket.io.我正在尝试终止连接,例如,当用户选择离开命名空间时,或类似于注销的操作,这不会退出应用程序或触发重新加载。我已经检查了这个问题@GitHub,还有这些问题,Node.js:socket.iocloseclientconnectionClosingasocketserversideonsocket.io?Howtocloseasocket.ioconnection他们建议使用不同的方法,例如disconnect、close等根据我自己的实验,disconnect、close方法都将套接字的connected属性设置为

javascript - Worker 使用同步 XMLHttpRequest 从 GUI 获取数据

我想要一个WebWorker它位于调用堆栈的深处,能够发出同步请求以从GUI获取信息。GUI本身没有被阻塞——它能够处理消息。但是worker栈上的JavaScript并没有写在async/await中。风格。它只是很多同步代码。因此,如果GUI尝试使用postMessage将响应发送回worker,那只会卡在onmessage()队列中。我发现了至少一种适用于当今浏览器的hack。工作人员可以向GUI发送消息以获取它想要的信息——连同某种ID(例如UUID)。然后它可以生成同步XMLHttpRequest--whichisnotdeprecatedonworkers--使用该ID发送

javascript - CORS 被 node.js 和 socket.io 阻止

我最近开始学习node.js和socket.io。我遵循了socket.io的一个简单教程,在我的计算机上运行时一切正常。但是,我决定将客户端部分上传到服务器进行测试,这就是问题开始的地方。我想在Web主机上运行聊天客户端,并在我的计算机或其他主机上运行服务器。基本上,我计划对服务器进行端口转发,并让客户端在网页上运行。我打开了我的端口转发端口,它似乎工作正常,但我每次都在网页上收到错误消息。Cross-OriginRequestBlocked:TheSameOriginPolicydisallowsreadingtheremoteresourceathttp://24.151.51.