草庐IT

m_socket

全部标签

node.js socket.io 如何发射到特定的客户端?

我想向特定客户端“发送”一条消息,该消息是根据在不同客户端接收到的另一条消息选择的,我该怎么做?我正在考虑将每个客户加入他们自己的“房间”,然后进行广播。有没有更好的办法? 最佳答案 socket.io1.0及以上版本更新io.to(socketid).emit('message','whatever');对于旧版本:您可以将每个客户端作为属性存储在对象中。然后就可以根据消息查找socket了:varbasket={};io.sockets.on('connection',function(socket){socket.on("re

node.js - 覆盖socket.io发射并开启?

在开发过程中,能够看到哪些数据包到达和发送对我有很大帮助。这在服务器端使用记录器是可能的。但是,在客户端,没有记录器。我发现自己到处乱扔console.log。是否可以用console.log(arguments)覆盖socket.emit和socket.on?如果我可以在我的套接字之前覆盖它,那将非常优雅。有人建议我改用Parser。你的2cents是多少?编辑我尝试了加藤的建议并写了以下内容:var_origEmit=socket.emit;socket.emit=function(){console.log("SENT",Array.prototype.slice.call(ar

node.js - Heroku Node.js 应用程序上的 Socket.io 和多​​个 Dyno。 WebSocket 在连接建立之前关闭

我正在构建一个部署到Heroku的应用程序,它使用Websockets。当我只使用1个测功机时,websockets连接工作正常,但是当我扩展到>1时,我收到以下错误POSThttp://****.herokuapp.com/socket.io/?EIO=2&transport=polling&t=1412600135378-1&sid=zQzJJ8oPo5p3yiwIAAAC400(BadRequest)socket.io-1.0.4.js:2WebSocketconnectionto'ws://****.herokuapp.com/socket.io/?EIO=2&transpor

node.js - Socket.IO 和 Firebase 有什么区别?

我看了一个关于Node.js的codeschool教程,他们在教程中使用Socket.IO模仿了一个聊天服务器。我也觉得Firebase做同样的事情。如果有的话,两者有什么区别? 最佳答案 其实是有区别的。Socket.io是一个用于管理套接字的JavaScript库。在网络聊天示例中,您创建套接字:客户端到服务器服务器到客户端也就是说,您控制所有端点,并使用socket.io作为一种工具在您的端点之间进行通信。相比之下,使用firebase您只关注1(客户端到服务器)使用服务与使用自己的基础设施的优缺点是一个不同的主题,并且非常固

javascript - 如何在 socket.io 中配置重新连接?

我用下一个代码创建socket.io连接varsocket=newio.connect('http://localhost:8181',{'reconnect':true,'reconnectiondelay':500,'maxreconnectionattempts':50});但是当我杀死服务器CTRL+C并重新启动它时,重新连接没有发生。但是在客户端引发了断开连接事件。可能是什么原因? 最佳答案 这是一个老问题,但对于像我这样正在寻找如何在socket.io(1.x)中配置重新连接的其他人来说,这是一个正确的语法:varsoc

javascript - Socket.io 错误挂接到 express.js

我正在尝试将socket.io和express.jsHook:varsocket=require('./socket_chat/socket.js');varexpress=require('express'),app=module.exports.app=express();vario=require('socket.io').listen(app);app.use(express.static(__dirname+'/app'));io.sockets.on('connection',socket);在这一行:vario=require('socket.io').listen(ap

node.js - 如何使用 Express/Socket.io 在 Node.js 上使用 HTTPS

我正在尝试使用https运行我的Node服务器。我正在使用express和socket.io。这是我的https代码:varhttpsPort=443;varprivateKey=fs.readFileSync(mykeypath');varcertificate=fs.readFileSync(mycertificatepath');varcredentials={key:privateKey,cert:certificate};varhttps=require('https').Server(credentials,app);vario=require('socket.io')(h

javascript - socket.io - 'connect' 事件不会在客户端触发

我正在尝试开始使用node.js和socket.io。我有一个非常(非常)简单的客户端-服务器测试应用程序,但我无法让它工作。系统设置在一台装有apache服务器的windows机器上。apache在port81上运行,socket.io设置为监听port8001服务器-server.jsvario=require('socket.io').listen(8001);io.sockets.on('connection',function(socket){console.log('\ngotanewconnectionfrom:'+socket.id+'\n');});客户端-index

node.js - 在 socket.io 中使用 RedisStore 的示例

我正在尝试跨多个进程和/或服务器扩展一个简单的socket.io应用程序。Socket.io支持RedisStore,但我不知道如何使用它。我在看这个例子,http://www.ranu.com.ar/post/50418940422/redisstore-and-rooms-with-socket-io但我不明白在该代码中使用RedisStore与使用MemoryStore有何不同。谁能给我解释一下?另外,将socket.io配置为使用redisstore与创建自己的redis客户端并设置/获取自己的数据有什么区别?我是node.js、socket.io和redis的新手,所以如果我

Android 应用程序使用 Socket.io 连接到 Node.js 服务器

我无法让我的Android应用程序连接到socket.io聊天服务器。我正在使用由Gottox创建的socket.io-java-client,可以在这里找到:https://github.com/Gottox/socket.io-java-client服务器通过7000端口在本地运行。我使用的是android模拟器,所以我使用10.0.2.2:7000访问服务器。任何帮助将不胜感激,我对SSL没有太多经验。如果我找到可行的解决方案,我也会发布它。Node.js服务器varexpress=require('express');varapp=express();varserver=req