多人聊天室

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[原]多进程实现linux 下即时聊天软件

2012-7-31阅读3564评论21

网络编程项目要求

一、实现目标

一个在Linux下可以使用的聊天软件,要求至少实现如下功能:

1. 采用Client/Server架构

2. Client A 登陆聊天服务器前,需要注册自己的ID和密码

3. 注册成功后,Client A 就可以通过自己的ID和密码登陆聊天服务器

4. 多个Client X 可以同时登陆聊天服务器之后,与其他用户进行通讯聊天

5. Client A成功登陆后可以查看当前聊天室内其他在线用户Client x

6. Client A可以选择发消息给某个特定的Client X,即”悄悄话”功能

7. Client A 可以选择发消息全部的在线用户,即”群发消息”功能

8. Client A 在退出时需要保存聊天记录

9. Server端维护一个所有登陆用户的聊天会的记录文件,以便备查

可以选择实现的附加功能:

1. Server可以内建一个特殊权限的账号admin,用于管理聊天室

2. Admin可以将某个Client X “提出聊天室”

3. Admin可以将某个Client X ”设为只能旁听,不能发言”

4. Client 端发言增加表情符号,可以设置某些自定义的特殊组合来表达感

情.如输入:),则会自动发送”XXX向大家做了个笑脸”

5. Client段增加某些常用话语,可以对其中某些部分进行”姓名替换”,例如,输入/ClientA/welcome,则会自动发送”ClientA 大侠,欢迎你来到咱们的聊天室”

6 文件传输

二、考核内容

网络编程:

设计Client和Server的通讯协议,并实现Server向登陆客户的消息发送文件I/O编程:

设计聊天记录的文件格式

设计注册用户和密码及配置参数的”数据库”文件

多线程或进程编程:

Server端需要至少创建2个线程或进程,一个用于监听Client端的连接请求,

一个用于给登陆的Client用户列表发送某个client的消息内容.

项目文档的编写:

系统概要设计文档

系统详细设计文档

用户使用手册

本程序通过多进程,非阻塞socket采用轮询方式实现。

package.h

#include

package.c

client.c

clientlogin.c

urrfunction.c

rootfunction.c

服务器server.c

severlogin.c

initlib.c

seachfunction.c

transit.c

相关文档
最新文档