聊天室
文章平均质量分 60
1
三Ⅶ
这个作者很懒,什么都没留下…
展开
-
使用 epoll 和 boost 库线程池实现并发服务器
1. epoll编程相关1.2 epoll编程流程:epoll编程流程int epoll_create(int size) 创建用于处理accept的专用文件描述符 int epfd=epoll_create(10000);声明事件数组以及事件 //声明epoll_event结构体的变量,ev用于注册事件,数组用于回传要处理的事件 struct epoll_event ev,events[10000];监听(int epoll_ctl(int epfd, int op,原创 2022-03-02 14:56:35 · 811 阅读 · 0 评论 -
记录登录状态的功能的实现
1.Redis相关介绍;C++连接redis工具:hiredis安装cd /home/shiyanlouwget https://github.com/redis/hiredis/archive/v0.14.0.tar.gztar -xzf v0.14.0.tar.gzcd hiredis-0.14.0/makesudo make install##复制路径sudo cp /usr/local/lib/libhiredis.so.0.14 /usr/lib/测试程序:#inclu原创 2022-02-28 21:26:10 · 1117 阅读 · 0 评论 -
聊天室群聊以及私聊功能的实现
之前的代码框架:part11 私聊功能的实现1.1 客户端相关代码;为客户端添加私聊功能,用户可以选择一名目标用户名,然后开始和目标进行私聊,指定目标后先发送目标名到服务器进行绑定,而后每条消息都发送到服务器,服务器再转发到目标用户。客户端有两个线程,一个线程用于发送信息给对方,另外一个线程接收信息。为服务器添加处理私聊业务的代码,服务器接收客户端发来的绑定信息和私聊,绑定目标用户并将每条私聊信息都转发到目标用户的客户端处。当用户输入 exit 时,能够离开私聊,返回到主界面。 要面向对象编程原创 2022-02-27 18:05:55 · 3052 阅读 · 0 评论 -
聊天室用户功能实现
1.mysql 简介Linux下启动mysqlsudo service mysql start//启动mysqlmysql -U root //启动mysql;C++连接mysql的环境配置;sudo apt updatesudo apt install -y libmysqlclient-dev安装之后查看是否有mysql.hls /usr/include/mysql|grep mysql.hmysql下所进行的前期准备工作:进入mysql;sudo servi原创 2022-02-27 15:51:28 · 347 阅读 · 0 评论 -
多线程服务器
1.thread库的简单介绍thread库介绍:头文件:#include<thread>基本API://创建一个新线程来执行 run 函数:thread t(run); //实例化一个线程对象t,让该线程执行run函数,构造对象后线程就开始执行了//假如说 run 函数需要传入参数 a 和 b,我们可以这样构造:thread t(run,a,b); //实例化一个线程对象t,让该线程执行run函数,传入a和b作为run的参数//需要注意的是,传入的函数必须是全局函原创 2022-02-25 21:15:02 · 1213 阅读 · 0 评论 -
TCP 简单通信
1.C++ TCP编程流程服务端编程流程:用 socket 创建一个套接字;用 bind 给这个套接字绑定地址(即 ip+端口号)调用 listen 把这个套接字置为监听状态;调用 accept 函数从已完成连接队列中取出成功建立连接的套接字;在这个新的套接字上调用 send、recv 来发送数据、接收数据;最后调用 close 来断开连接释放资源即可。客户端编程流程:与服务器不同,客户端并不需要 bind 绑定地址,因为端口号是系统自动分配的,而且客户端也不需要设置监听的套接字,因此原创 2022-02-25 16:59:42 · 2247 阅读 · 0 评论