集群聊天服务器(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中打出来,没有接收到

相关推荐
liebe1*17 分钟前
第七章 防火墙地址转换
运维·服务器·网络
好好学操作系统13 分钟前
autodl 保存 数据 跨区
linux·运维·服务器
dbitc15 分钟前
WIN11把WSL2移动安装目录
linux·运维·ubuntu·wsl
KingRumn15 分钟前
Linux同步机制之信号量
linux·服务器·网络
嵌入式学习菌16 分钟前
SPIFFS文件系统
服务器·物联网
旺仔Sec16 分钟前
2026年度河北省职业院校技能竞赛“Web技术”(高职组)赛项竞赛任务
运维·服务器·前端
BullSmall37 分钟前
linux 根据端口查看进程
linux·运维·服务器
herinspace41 分钟前
管家婆软件年结存后快马商城操作注意事项
服务器·数据库·windows
嘻哈baby1 小时前
Ansible自动化运维入门:从手工到批量部署
运维·自动化·ansible
Hard but lovely1 小时前
linux:----进程守护化(Daemon)&&会话的原理
linux·运维·服务器