因为项目需要,所以肝了一个在线聊天室,花了不少时间哈哈哈,在博客里记录一下,转载请注明出处!
该项目已上传至 Github:https://github.com/senyucci/TcpChatRoom
详细的源码 (客户端+服务端) 下载地址在个人博客的文末:https://www.seny.xyz/archives/onlinechat
相关技术
该项目所需要的技术有
- Unix 网络编程相关知识
- C++ 多线程相关技术
- Mysql 数据库相关
- QT图形界面开发
一、Unix 网络编程
Unix网络编程的部分,这块虽然知识既多又杂,但只要理解了 socket 的抽象,并将网络编程的 相关函数 与计网中的 相关模型 进行结合就能很快掌握,究其根本就是一套相同的模板:
服务器:
// 1. 创建并初始化服务器 socket
int socket(int family,int type,int protocol);
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
// 2. 开启监听
int listen(int sockfd, int backlog);
// 3. 等待客户端连接
int accept(int sockfd, struct sockaddr *addr, socklen_t *addr

该博客记录了一个基于Reactor模型、使用epoll+多线程的在线聊天室项目。内容涵盖Unix网络编程、C++多线程、Mysql数据库和QT图形界面开发。服务端采用Linux上的Epoll,通过主线程监听,工作线程处理Accept、Receive和Send请求。项目源码可在作者的Github和博客找到。
最低0.47元/天 解锁文章
699

被折叠的 条评论
为什么被折叠?



