当前位置: 首页 > article >正文

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

目录

  • 环境安装
  • 订阅
  • redis发布-订阅的客户端编程
    • 环境配置
    • 客户端编程
  • 功能测试

环境安装

sudo apt-get install redis-server
在这里插入图片描述
先启动redis服务

/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

/etc/init.d/redis-server start

启动nginx
nginx启动需要root权限
在这里插入图片描述
然后用netstat -tanp查看一下端口,8000和6379全部打开了
在这里插入图片描述

然后打开两个客户端两个服务器
在这里插入图片描述
在这里插入图片描述
一登录就报段错误
修改了一下redis.cpp
在这里插入图片描述
而且都已经连上redis
在这里插入图片描述
咋没收到消息在这里插入图片描述
感觉onechat出问题了
在这里插入图片描述
不需要这个标识在线了
在这里插入图片描述
只能在单台服务器通信,不能跨服务器通信
在这里插入图片描述
调试了一下我发现已经接收到了,但是没有打印出来
在这里插入图片描述

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


http://www.kler.cn/a/401578.html

相关文章:

  • Pandas学习
  • Javaweb梳理17——HTMLCSS简介
  • KF UKF
  • 麒麟时间同步搭建chrony服务器
  • vue2动态导出多级表头表格
  • 不完全微分PID控制算法
  • 电子应用设计方案-13:智能消毒柜系统方案设计
  • 【LangChain】LangChain框架快速入门
  • html本地离线引入vant和vue2(详细步骤)
  • 《Python制作动态爱心粒子特效》
  • 【C语言】操作符2(含操作符的应用)
  • 小学知识相关链接
  • 阿里云轻量应用服务器可以用在哪些场景呢
  • 《YOLO:目标检测领域的璀璨之星》
  • 网络安全之信息收集-实战-2
  • 青训营刷题笔记09
  • 【mongodb】社区版8:改变配置bindip和授权
  • Spire.PDF for .NET【页面设置】演示:更改 PDF 页面大小
  • 外汇市场中的羊群效应:如何克服盲目追随
  • CC工具箱使用指南:【CAD导出界址点Excel】
  • Windows多JDK版本管理工具JVMs
  • 了解鱼叉式网络钓鱼攻击的社会工程学元素
  • 软件工程期末复习-用例建模
  • 适应等保的Windows系统和Linux系统安全加固V1.2.0版本
  • [安洵杯 2019]iamthinking-parse_url绕过thinkphp6.0反序列化
  • 高亮变色显示文本中的关键字