草庐IT

Laravel 实时与 socket.io

我正在使用Laravel和socket.io试验实时应用程序。我做了一个单独的节点和redis服务器。现在看到好几个介绍redis订阅channel的教程。但是我尝试不使用redis,并且socket.io能够连接和发出等。问题是,redis的用途是什么?是否存在redis能够处理而socket.io不能处理的特定场景?谢谢。 最佳答案 SocketIO有助于在两个不同的浏览器选项卡之间进行通信,而这与仅使用socket.js文件的Laravel应用程序无关。因此,当您想要在Laravel应用程序和浏览器之间进行通信时,例如聊天或有

node.js - 在多个 Node 实例中共享 IO 对象

我想在两个Node实例之间共享由socket.io创建的房间,已经在使用redis-store但无法在不同的Node实例上获取io.sockets.in(ROOM_ID).emit(MESSAGE,DATA);我正在努力-实例A-io.set('store',...)io.on('connection',function(socket){socket.join(''room-ABCD);});为了传播一些东西,我可以使用io.sockets.in('room-ABCD').emit('event',{data:{}});但是我需要从实例B执行类似的广播。实例Bio.set('store

node.js - 使用 Socket.io 的 Redis 存储

使用Redis作为socket.io内存存储有什么好处,是否需要额外的资源。我正在使用MongoDB作为数据库,我可以使用MongoDB作为Socket.io的内存存储,还是将MongoDB替换为Redis作为数据库?对于构建实时Web应用程序和提供最大并发连接数,什么会更有效? 最佳答案 caniuseMongoDBasmemorystoreforSocket.ioYes,youcantrymong.socket.iodoireplaceMongoDBwithRedisasdatabase?Redis和MongoDB是不同类型的数

node.js - openshift 上的 socket.io redis 存储

我正在尝试在node.js上设置socket.io以使用redisstore,以便我可以与pubsub与opeshift平台上的多个Node进行通信,但我无法连接到redis服务器。我正在使用thiscartridge.我试着连接varpub=redis.createClient(process.env.OPENSHIFT_REDIS_DB_PORT,process.env.OPENSHIFT_REDIS_DB_HOST);但它不起作用(我发现了原因:createClient()onlyacceptIPaddresses)并且它回退到默认端口和主机,然后我运行了rhcport-forw

php - Laravel 5.1 Session 和 Socket.IO + Redis - 向登录(已知)用户和用户组发送通知

我正在做一个项目,我想为特定的用户组(具有管理员角色)实现实时通知,经过一些研究,我明白我需要session才能知道哪些用户已登录(默认情况下他们是匿名的)。另外,我只需要向特定用户发送通知。(只有一个用户,例如:JohnDoe)所以,我的问题是:如何通过Redis将session/cookie传输到NodeJS端,然后发出通知?我到底应该怎么做?任何加密/解密?有人有机会实现这样的东西吗?互联网上几乎没有关于此的信息,而且大多数教程对于我的用例来说都太基础了。我正在使用Laravel5.1广播功能来发布一些通知并使用Socket.io(版本1.3.7)实时显示它们。我还使用Redis

javascript - Socket.io 使用参数创建空间

我正在开发多人扑克游戏,我正在使用node.js和socket.io以及redis适配器。我有一些房间参数:name:string-服务器名称,用于大厅password:string-服务器密码,用于私有(private)游戏gameSpeed:boolean-游戏速度(快,正常,慢)players:Array-玩家姓名,在这个房间里amount:int-这个房间可以连接的玩家数量我在socket.io文档中找不到这样的功能。有什么办法吗? 最佳答案 一个选择当然是创建一个对象,例如varrooms={room1:{name:'ro

php - Socket.io、PHP、Node 和 Redis 聊天室

我根据许多使用PHP、socket.io、redis和Node的教程创建了一个基本的聊天室。我创建了一个.js作为服务器来创建网络套接字以允许浏览器获取广播并自动更新。我的问题是如何修改我必须允许有多个房间/channel的内容?在本教程中,它将服务器设置为订阅“测试channel”,但我需要用户根据他们应该与谁见面来订阅不同的房间。非常感谢任何建议、代码提示或指向其他教程。Node运行的我的.js服务器:varserver=require('http').Server();vario=require('socket.io')(server);varRedis=require('ior

php - 带 REDIS 的套接字 IO。服务器收不到 channel 消息

我花了将近2天的时间在谷歌上搜索和搜索,试图找出我的设置有什么问题。我所有的服务都在一个Docker容器中运行,所有服务都正确连接(我已经测试过了)我在连接到Redis的Node.JS上有一个最小的SocketIO服务器:require('longjohn');require('dotenv').load({silent:true});process.env=process.env||{};varPORT=process.env.SOCKET_PORT||4567;vario=require('socket.io').listen(PORT);varredis=require('soc

javascript - 使用 socket.io-client 连接到 redis 服务器,而无需用于 react native 的 Node

主要目标是在没有中间服务器的情况下在react-native中使用redispub/sub。我正在尝试找到一种解决方案来连接到网络中的redis服务器,而无需在中间安装其他服务器。由于react-native没有redis客户端,我正在尝试寻找替代方案。想看看我们是否可以使用socket.io-client连接到redis服务器。我尝试使用socket.io-redisthis.socket=SocketIOClient('http://192.168.3.1:6379');this.redisAdapter=this.socket.adapter(redisAdapter({host

angularjs - mean.io 使用 http 请求堆栈 Angular 长时间运行的操作

我正在使用meanstack开发一个Web应用程序,该应用程序对多个mongo数据库集合执行多个操作。系统的总体意图是在多个系统之间执行数据同步。每个系统数据存储在不同的集合中。不用说,这些集合的文档具有共同的属性。在nodeJS或API级别,我创建了get和post请求,它们将异步循环遍历主集合,并尝试将该集合上的文档与其他集合中的文档链接起来。这个过程自然需要几分钟。可以链接的文档存储在不同的mongodb集合中。这些稍后将在另一个NodejsAPI调用中处理。设置API后,我将创建一个Controller和一个具有Angular的服务,以便连接到api并执行apiget和post