集群聊天服务器(13)redis环境安装和发布订阅命令

目录

环境安装

sudo apt-get install redis-server

先启动redis服务

bash 复制代码
/etc/init.d/redis-server start

默认在6379端口上

redis是存键值对的,还可以存链表、数组等等复杂数据结构

而且数据是在内存上存储的,效率非常高

订阅

订阅了一个13

订阅通道号以及发布消息

redis发布-订阅的客户端编程

环境配置

C++对应的则是hiredis

https://github.com/redis/hiredis

github上下载压缩包传到ubuntu中,然后make

sudo make install

然后把动态库拷贝到lib目录下

客户端编程

上报就是一个通道加上字符串(具体内容)

头文件那里一直找不到,反复搞json配置文件

后来发现是连接延迟

然后重启了一下vscode,就不报错了

登录成功就订阅id作为channel

注销就取消订阅

异常退出也取消订阅

如果用户不在本地服务器上在线,那就发布到redis上对应的用户idchannel上,由订阅的接收,群组聊天也是这个流程

功能测试

先启动redis

bash 复制代码
/etc/init.d/redis-server start

启动nginx

nginx启动需要root权限

然后用netstat -tanp查看一下端口,8000和6379全部打开了

然后打开两个客户端两个服务器

一登录就报段错误

修改了一下redis.cpp

而且都已经连上redis

咋没收到消息

感觉onechat出问题了

不需要这个标识在线了

只能在单台服务器通信,不能跨服务器通信

调试了一下我发现已经接收到了,但是没有打印出来

其实两边都收到消息了,但是没有在shell中打出来,没有接收到

相关推荐
Run_Teenage3 分钟前
认识ELF格式文件,理解库链接过程
linux·运维·服务器
Leon-zy10 分钟前
【Linux】Linux下手动添加的systemctl服务使用journalctl查看无日志或排版乱
linux·运维·服务器
软件工程小施同学12 分钟前
区块链论文速读 CCF A--TDSC 2025 (3)
运维·服务器·区块链
Q168496451518 分钟前
红帽Linux-监控和管理Linux进程
linux·运维·服务器
maosheng114621 分钟前
HCIP的OSPF进阶综合实验
linux·运维·服务器
开开心心就好25 分钟前
内存清理工具开源免费,自动优化清理项
linux·运维·服务器·python·django·pdf·1024程序员节
fy zs36 分钟前
NAT ,代理服务器和内网穿透:内网设备通信的底层逻辑
linux·运维·服务器
杨江43 分钟前
onlyoffice的安装
运维
Gofarlic_OMS1 小时前
如何将MATLAB网络并发许可证闲置率降至10%以下
大数据·运维·服务器·开发语言·人工智能·matlab·制造
難釋懷1 小时前
Redis命令-Hash命令
数据库·redis·哈希算法