谈一谈前两个星期写网络聊天室项目的感受

我先介绍这个聊天室项目,这个项目采用C/S架构,Linux网络编程(线程),

基于Select实现多个客户端通过服务器进行通信。使用轻量级数据库Sqlite3用于

服务器端存储账号、密码和个人信息。具体实现了注册、登陆、查看在线人数、

私聊、群聊、查看聊天记录、创建管理员、发送表情、下线等功能其中管理员还

有踢人、禁言等特殊功能。


我为什么要做这个项目?

因为在做这个项目之前我进行了C语言系统化的学习,想要通过一个综合性较强的

项目来柔和提升之前所学到的知识。而此项目包含了较多的基础编程知识,包含线

程,网络编程、sqlite3、文件操作、链表等,属于综合性较强的项目。


在做这个项目的时候遇到了哪些困难?

其实刚开始准备做这个项目的时候,跟很多人一样无从下手,整体框架根本搭建不出来,

后来自己仔细思考想着要想实现任何功能服务器肯定要先和客户端连接所以我就先将它们

连接起来了,用的Tcp协议,与别人不一样的是我服务器并没有创建线程而是用Select这个

函数进行检测从而告诉服务器。

创建连接好之后也遇到了很多问题:

1、登陆时怎么判断信息是否注册过

2、登录时如何判断是否在线

3、怎么在登陆时跳出其他功能界面

4、怎么显示在线人名

5、服务器与客户端如何创建线程

6、查看聊天记录如何保存

7、怎么创建管理员

8、编译运行各种段错误其他错误等

还有好多其他问题我就不一一列举了,过程也是不容易啊,不过这些问题都被我慢慢一步一步克服了,最终实现了

这个简易的聊天室功能。

通过这次项目我感觉信心、决心和耐心都很重要,除此之外基础知识和逻辑思维等能力也不可或缺,而这次项目正好

锻炼了我的这些品质和能力,我也非常开心能有此次项目的锻炼


你可能感兴趣的:(谈一谈前两个星期写网络聊天室项目的感受)