草庐IT

Socket聊天

全部标签

node.js - 使用 redis 与 socket.io 和 NodeJs 建立实时聊天

我想为我的项目构建一个实时聊天系统,但实际上我在使用Redis时遇到了一些问题,因为我希望我的数据存储得尽可能好。我的问题:我想用SocketIo在一个封闭的群里(两个人)进行实时聊天,但是如何存储消息?Redis是一个键值存储,这意味着如果我想存储一些东西,我需要在存储之前为我的数据添加一个唯一的键。如果同一用户发布多条消息,我会在Redis中使用哪些键?我正在考虑将唯一ID作为唯一键,但因为我希望能够在用户登录聊天页面时获取此评论,但如果我这样做,我需要编写另一个数据库,将聊天ID与发布该内容的用户相关联留言我是不是忘记了什么?有没有最好的方法来做到这一点?抱歉我的英语不好。

node.js - 使用 redis 与 socket.io 和 NodeJs 建立实时聊天

我想为我的项目构建一个实时聊天系统,但实际上我在使用Redis时遇到了一些问题,因为我希望我的数据存储得尽可能好。我的问题:我想用SocketIo在一个封闭的群里(两个人)进行实时聊天,但是如何存储消息?Redis是一个键值存储,这意味着如果我想存储一些东西,我需要在存储之前为我的数据添加一个唯一的键。如果同一用户发布多条消息,我会在Redis中使用哪些键?我正在考虑将唯一ID作为唯一键,但因为我希望能够在用户登录聊天页面时获取此评论,但如果我这样做,我需要编写另一个数据库,将聊天ID与发布该内容的用户相关联留言我是不是忘记了什么?有没有最好的方法来做到这一点?抱歉我的英语不好。

Php , laravel, socket - 水平缩放技术

我有一个laravel应用程序,我在其中使用phpratchet库在客户端和用户之间建立持久连接以进行实时通信(目前它只是一种方式,即,只有服务器可以发送消息到客户)。有了这个架构,我如何拥有多个这样的laravel服务器,每个服务器都有自己的一组连接到它们的客户端,以便相互通信?我正在考虑使用REDIS并拥有一个redis服务器,我的所有节点都将连接到该服务器(使用pubsub)。我的服务类似于群发消息应用程序(一个用户有很多组,一个组有很多用户),到目前为止(现在我只有一个服务器,没有redis),我得到了所有用户的组,并为他订阅这些主题(主题名称类似于GROUP_1、GROUP_

Php , laravel, socket - 水平缩放技术

我有一个laravel应用程序,我在其中使用phpratchet库在客户端和用户之间建立持久连接以进行实时通信(目前它只是一种方式,即,只有服务器可以发送消息到客户)。有了这个架构,我如何拥有多个这样的laravel服务器,每个服务器都有自己的一组连接到它们的客户端,以便相互通信?我正在考虑使用REDIS并拥有一个redis服务器,我的所有节点都将连接到该服务器(使用pubsub)。我的服务类似于群发消息应用程序(一个用户有很多组,一个组有很多用户),到目前为止(现在我只有一个服务器,没有redis),我得到了所有用户的组,并为他订阅这些主题(主题名称类似于GROUP_1、GROUP_

redis - 将消息从实时聊天保存到MySQL或Dynamodb中的策略

我正在编写一个实时聊天应用程序,该应用程序将被许多用户使用。我正在考虑使用Amazon的ElasticCacheRedis管理我们的PUB/SUB和最新消息缓存。我看到的唯一问题是有关将这些实时消息保存到数据库以供将来使用。关于可以使用哪些策略将这些消息从ElasticCache保存到数据库中的任何建议。是RDS首选还是我应该使用NoSQL例如Dynmodb可以存储这些消息吗?我应该创建一个队列来存储来自缓存的这些消息还是实时保存它们也可以。谢谢 最佳答案 此处合适的策略在很大程度上取决于数量,预期的查询模式和消息保留。假设您要支持

redis - 将消息从实时聊天保存到MySQL或Dynamodb中的策略

我正在编写一个实时聊天应用程序,该应用程序将被许多用户使用。我正在考虑使用Amazon的ElasticCacheRedis管理我们的PUB/SUB和最新消息缓存。我看到的唯一问题是有关将这些实时消息保存到数据库以供将来使用。关于可以使用哪些策略将这些消息从ElasticCache保存到数据库中的任何建议。是RDS首选还是我应该使用NoSQL例如Dynmodb可以存储这些消息吗?我应该创建一个队列来存储来自缓存的这些消息还是实时保存它们也可以。谢谢 最佳答案 此处合适的策略在很大程度上取决于数量,预期的查询模式和消息保留。假设您要支持

django - 聊天应用程序 : Using Django with sockjs-tornado and redis

我正在尝试编写聊天应用程序,这里有一些设计想法:Django做主网站服务。Sockjs-tornado提供聊天服务,我想在它们之间设置redis。当sockjs-tornado在聊天中收到消息时,它会处理它并发送给其他连接的客户端,并将其放入redis,所以Django可以将此消息保存在持久数据库中。我知道我应该使用redis的pubsub功能。我知道如何在Tornado(brukva库)中设置它,但如何在django中订阅redis的channel?所以我可以在django中接收消息并将其保存到数据库中吗?你有什么想法吗? 最佳答案

django - 聊天应用程序 : Using Django with sockjs-tornado and redis

我正在尝试编写聊天应用程序,这里有一些设计想法:Django做主网站服务。Sockjs-tornado提供聊天服务,我想在它们之间设置redis。当sockjs-tornado在聊天中收到消息时,它会处理它并发送给其他连接的客户端,并将其放入redis,所以Django可以将此消息保存在持久数据库中。我知道我应该使用redis的pubsub功能。我知道如何在Tornado(brukva库)中设置它,但如何在django中订阅redis的channel?所以我可以在django中接收消息并将其保存到数据库中吗?你有什么想法吗? 最佳答案

node.js - 获取总数。 Socket.io + 多进程/集群中 Room 中的连接用户

我不想在socket.io中获取任何已连接的用户,并且我有多个socket.io服务器例如。当user1连接到server1并加入房间room1下面的语句返回给连接的用户列表然后io.nsps['/'].adapter.rooms["room1"]或io.sockets.adapter.rooms["room1"]而且我还尝试了SO和谷歌上可用的许多其他解决方案。但是当我在server2中使用上述语句时,它不会返回任何内容。如何在特定房间的所有服务器中获取没有连接的用户?我正在使用socket.io-redis模块在多个进程之间进行通信。 最佳答案

node.js - 获取总数。 Socket.io + 多进程/集群中 Room 中的连接用户

我不想在socket.io中获取任何已连接的用户,并且我有多个socket.io服务器例如。当user1连接到server1并加入房间room1下面的语句返回给连接的用户列表然后io.nsps['/'].adapter.rooms["room1"]或io.sockets.adapter.rooms["room1"]而且我还尝试了SO和谷歌上可用的许多其他解决方案。但是当我在server2中使用上述语句时,它不会返回任何内容。如何在特定房间的所有服务器中获取没有连接的用户?我正在使用socket.io-redis模块在多个进程之间进行通信。 最佳答案