草庐IT

sockets - 了解WebSockets

全部标签

javascript - WebSockets : useful for reducing overhead?

我正在构建一个动态搜索(每次击键都会更新):我目前的方案是在每次击键时向服务器发送一个新的AJAX请求并以JSON格式取回数据。我考虑过为每个搜索“session”打开一个WebSocket以节省一些开销。我知道这会节省时间,但问题是,考虑到这些参数,这样做真的值得吗:80ms平均ping时间166毫秒:每次击键之间的时间,假设用户键入相对较快最坏情况下的传输速率为1MB/s,每次击键时必须接收的每个数据包不超过1KB。该应用还需要大约30-40毫秒才能将搜索结果焊接到DOM。我找到了这个:HTTPvsWebsocketswithrespecttooverhead,但这是一个不同的用例

javascript - node.js:socket.io 与 express.static

我正在运行以下server.js:module.exports=server;varexpress=require('express');varfs=require('fs');varserver=express.createServer();varport=58000;server.listen(port);vario=require('socket.io').listen(server);server.use(express.static('/',__dirname+'/../public'));server.use(express.logger());io.on('connect

javascript - 为什么我的消息没有发送到带有此处理程序的 Socket.io 房间?

向指定房间发送消息的方式inSocket.ioaccordingtothedocs看起来真的很简单。在下面的代码中是一个处理程序,是一个更大模块的一部分,但功能应该都很简单,特别是因为我正在显示公开每个变量代表什么的日志:module.exports.handle=function(client,data,socket,sessions,callback){debug.log('Client,'+data.name+'sentmessage:'+data.message);debug.log(JSON.stringify(data,null,3));varsessionId=data.

javascript - 实时网络库 - 用 socket.io 或什么替换 hookbox?

我有几个项目是使用hookbox构建的,用于管理Web客户端和服务器之间的实时消息传递。Hookbox很棒——它完全抽象了传输层,通过优雅的安全系统跨不同channel公开了一个简单的发布/订阅接口(interface)。不幸的是,由于最初的维护者甚至不愿意努力移交所有权,hookbox项目迅速陷入困惑。(Grrr!)因此很难再将其视为一个可行的平台。提供与网络应用程序的实时通信的好平台是什么?要求:使用HTML5websockets或可用的COMET无缝地跨浏览器工作。传输选择应该对应用层不可见。我不关心古老的浏览器(IE6)从javascript和服务器端系统(即在php/pyth

javascript - 通过 nodejs 服务器 + socket.io 从 mp3 文件同步流式传输音乐

我的服务器上有一个mp3文件。我希望所有访问该url的客户都能同步收听该音乐。也就是。假设文件播放了6分钟。我在上午10:00开始播放这首歌上午10:03发出的请求应该从歌曲的第3分钟开始收听。我所有的客户都应该同步收听这首歌。如何使用nodejs和socket.io实现这一点? 最佳答案 编辑:如果您想完全按照要求进行操作,链接上的答案更匹配:https://stackoverflow.com/a/26029102/67945我最初的回答与ipv4多播的好处无关。您正在寻找的是流媒体。随着您的听众基数的增长,使用流媒体(相对于每个

javascript - 了解用于编写 cometd 服务器的 mod_proxy 和 Apache 2

我目前尝试为某种comet实现一个简单的HTTP服务器-技术(长轮询XHR请求)。由于JavaScript对跨域请求非常严格,我有几个问题:据我所知,任何apacheworker在服务请求时都会被阻塞,因此当所有worker都有服务请求时,将“脚本”编写为通常的网站会阻塞apache。-->不起作用!我想到了自己编写一个简单的HTTP服务器来处理这种长轮询请求的想法。这个服务器不应该阻塞,所以每个工作人员可以同时处理许多请求。由于我的网站还包含内容/图像等,并且我的服务器不需要服务器内容,所以我在另一个端口上启动了他,然后是80。现在的问题是我无法在我的JavaScript之间进行交互

javascript - 了解 Passportjs 自定义回调

我正在试验Passportjs,自定义回调的代码是:app.get('/login',function(req,res,next){passport.authenticate('local',function(err,user,info){if(err){returnnext(err);}if(!user){returnres.redirect('/login');}req.logIn(user,function(err){if(err){returnnext(err);}returnres.redirect('/users/'+user.username);});})(req,res

javascript - 为什么在浏览器中未定义 socket.id

如果我执行console.log(socket),我会在firebug中得到一个套接字对象。在obj中,我可以看到带有id的属性,并且我可以看到id的值。但是当我执行console.log(socket.id)时,我得到了未定义。为什么?varsocket=io();$(document).ready(function(){console.log(socket);console.log(socket.id);console.log(socket.ids);$(".click").on("click",function(e){alert("clicked")socket.emit("cl

javascript - 了解 JSON 结构 - 属性和值

有些事情困扰着我。我在我的一些应用程序/网站中使用了JSON,我们都喜欢它!然而,今天有一些我从未想过的事情进入了我的脑海。看看下面的例子(这来自http://json.org/example.html):{"widget":{"debug":"on","window":{"title":"SampleKonfabulatorWidget","name":"main_window","width":500,"height":500},"image":{"src":"Images/Sun.png","name":"sun1","hOffset":250,"vOffset":250,"al

javascript - 具有不同回调处理程序的单例 Websockets 对象

我有一个JavaScriptWebsockets实现,我想在其中使用单例模型,该模型使用一个Websocket连接对服务器进行多次调用,但具有不同的回调事件处理程序。我的实现工作得很好,但我注意到一些奇怪的行为,消息被定向到错误的回调处理程序。这是一些代码:Connection.js文件varconnection=function(){var_socket=null;return{socket:function(){if(_socket==null){_socket=newWebSocket("ws://localhost:8081/index.ashx");_socket.onclo