网络聊天室项目说明书

网络聊天室项目说明

项目的目的和意义
该聊天室项目为利用linux下C语言网络编程相关知识,采用Server/Client,即服务器与客户端的基本框架实现。整个项目涉及了socket套接字,线程,嵌入式数据库sqlite3,select模型等多个知识模块,服务器整体采用select模型,并不断监听客户端,客户端中起一个线程,用来实时接受服务器发送的信息。

该聊天室项目可模拟当今的聊天工具中的各个功能,实现最基本的互相发送信息,群发消息,登陆注册等功能。完成该项目可很大的提高我们初学者的编程能力,以及面对出现的各种bug的应对解决能力,是一个提升自我的很好途径。

项目的需求分析
1.聊天室支持连接多个客户端,采用select模型

2.客户端与服务器的连接,接受信息

3.账号网名的注册,登录,并存档

4.显示所以在线好友

5.服务器与客户端的通信,实现信息转发(私聊,群聊)

6.实现管理员权限,可进行禁言,踢人等功能

7.发送表情,常用语句

8.每个用户都建立各自的聊天记录文件,服务器保存所以用户的聊天记录

项目的技术方案设计
服务器socket和select
首先建立socket,用bind进行绑定后,用listen进行对客户端的监听。在一个while(1)循环中,采用select对客户端进行操作,将所以文件描述符放到readfd中,如果是有新的客户端要进行连接,即sockfd有动静,就开始accept操作,将新的fd放到readfd中࿰

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值