草庐IT

同步Socket

全部标签

javascript - Node.js/Socket.io 中对旧版浏览器的 Web Socket 支持

我使用C++创建了一个WebSocket服务器。我们知道HTML5支持WebSocket,我们有标准的WebSocketJavaScriptApi来与WebSocket服务器通信。我能够使用WebSocket连接到WebSocket服务器阿皮。由于WebSocketApi仅在新浏览器中受支持。IEversion10Chromeversion16Firefoxversion6Safariversion6.0Operaversion12.10我需要提供support也适用于以下浏览器版本。WebSocketApi支持的浏览器IEversion7Chromeversion14Firefoxv

javascript - 有什么方法可以进行同步 PageMethods 调用?

我正在尝试这样做:functionDelBatch(){varuserInfo=get_cookie("UserInfo");PageMethods.DeleteBatchJSWM(userInfo,function(result){window.location="BatchOperations.aspx";});}但它仍然是异步运行的。我需要浏览器真正等到我的代码隐藏执行完毕,然后才可以刷新有一个列表框加载了刚刚从数据库中删除的值,它们不应该是可见的。我遇到的问题是在执行代码隐藏之前窗口位置会刷新,并且对用户来说似乎没有任何内容被删除。 最佳答案

javascript - socket.io - 向特定用户广播

我需要使用websockets(socket.io+node.js)建立双人聊天。因此,向所有用户广播消息的简单示例:socket.on('usermessage',function(msg){socket.broadcast.emit('usermessage',socket.nickname,msg);});但是我怎样才能将它从特定用户广播到特定用户呢? 最佳答案 有两种可能:1)每个套接字都有自己唯一的ID,存储在socket.id中。如果你知道两个用户的ID,那么你可以简单地使用io.sockets[id].emit(...

javascript - ExpressJS - 带有路由分离的 Socket.IO

我正在努力了解ExpressJS和Socket.IO。我将我的路线放在一个单独的文件中,该文件包含在我的app.js中:varexpress=require('express'),db=require('./db'),mongoose=require('mongoose'),models=require('./models/device'),http=require('http'),path=require('path'),app=express(),server=http.createServer(app),io=require('socket.io').listen(server)

javascript - Node.js + Socket.io + Apache

我正在寻找一种通过以下方式集成Node.js+Socket.io+Apache的方法:我希望apache继续提供HTML/JS文件。我希望node.js监听端口8080上的连接。像这样:varutil=require("util"),app=require('http').createServer(handler),io=require('/socket.io').listen(app),fs=require('fs'),os=require('os'),url=require('url');app.listen(8080);functionhandler(req,res){fs.re

javascript - Chrome 中的同步控制台日志记录

是否可以同步登录到控制台?我经常遇到代码执行比转储结构更快的情况。这解决了输出已经更改的对象。我当然可以使用调试器遍历代码,进行单元测试等,简单地查看console.log内容通常很方便,只是为了大致了解正在发生的事情。 最佳答案 您可以在将对象传递给console.log之前创建该对象的副本。看here用于创建对象的深拷贝的函数。编辑:现已在Chrome中实现,请参阅here 关于javascript-Chrome中的同步控制台日志记录,我们在StackOverflow上找到一个类似的

javascript - 如何从我的 Express 4 路由中使用 socket.io 向连接的套接字发送事件?

这是其他人问过的问题,但由于我的Express设置不同,我无法从他们给出的答案中受益。我已经实现了socket.io,并在我的服务器上以一种简单的方式工作。这是它的工作原理:在bin/www中:#!/usr/bin/envnodevardebug=require('debug')('gokibitz');varapp=require('../../server');app.set('port',process.env.PORT||3000);varserver=app.listen(app.get('port'),function(){debug('Expressserverliste

javascript - RxJS 中的同步性

我希望以下代码可以异步运行:varrange=Rx.Observable.range(0,3000000);range.subscribe(function(x){},function(err){},function(){console.log('Completed');});console.log('HelloWorld');但事实并非如此。遍历大范围的数字需要一段时间,只有完成后才会恢复执行,您可以尝试代码here.我对何时期望RxJS同步或异步行为感到困惑。这取决于使用的方法吗?我之前的想法是,一旦我们进入Observables/Observer领域,其中的所有内容都会异步运行,

javascript - 我可以同步多个图像加载调用吗?

我想要一个函数在加载特定图像时运行,但我不知道如何在运行之前等待两者加载。我只知道如何链接它们,如下所示:Image1=newImage();Image1.src='image1-link.jpg';Image2=newImage();Image2.src='image2-link.jpg';Image1.onload=function(){Image2.onload=function(){...}}这样做的缺点是它必须等到Image1完全加载后才能获取第二个。我想尝试这样的事情:Image1=newImage();Image1.src='image1-link.jpg';Image2

javascript - socket.io 在 x 秒/第一次尝试获取响应失败后停止重新发出事件

我注意到每当我的服务器离线时,当我将其切换回在线时,它会收到大量套接字事件,这些事件是在服务器关闭时触发的。(现在已经过时的事件)。有没有办法阻止socket.io在x秒内未收到响应后重新发出事件? 最佳答案 当开源库的所有其他方法都失败时,您可以去研究代码,看看您能找出什么。在花了一些时间使用socket.io源代码之后...问题的关键似乎是这段代码here在socket.emit()中:if(this.connected){this.packet(packet);}else{this.sendBuffer.push(packet