-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path项目介绍.txt
57 lines (42 loc) · 1.92 KB
/
项目介绍.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
聊天室项目
功能介绍:
1.进入聊天室:输入姓名,用户名(不能重复)
2.某个成员进入聊天室后给其他所有所有成员发送消息
3.任何一个人发消息,其他人都会收到
4.某人退出聊天室,其他成员也会收到通知
5.管理员可以从后台发送消息,此时所有成员都可以接收
技术分析:
1.发消息(UDP 套接字)
2.成员的存储(服务器端:{} [])
3.消息发送模式
转发:消息发送给服务器,再转发给其他成员
4.管理员
保证收发消息互不影响(每个人收发消息都随机),发消息和收消息分别使用一个进程
整体设计:
1.封装方式(函数)
2.编写流程:先确保通信实现,然后逐个功能实现
3.测试:实现一个功能,测试一个功能
聊天室项目实现
1.网络通讯实现
1.服务器(创建一个 UDP 套接字,绑定地址)
多进程,1个进程接收消息,一个进程管理员喊话
2.客户端
2.进入聊天室
1.服务器
1.接收姓名,判断是否已经存在
1.存在:返回值为不允许进入
2.不存在:
1.将用户加入存储结构
2.通知其他成员:XXX 进入聊天室
2.客户端
1.输入姓名
2.把姓名包装,发送给服务端
3.接收服务端的反馈结果
1.不允许进入(用户名重复), 需要重新输入姓名
2.允许进入,创建进程,一个进程发送消息,一个进程接收消息
3.退出聊天室
1.客户端发送退出消息
2.客户端父子进程退出
3.服务器接收退出请求
4.服务器通知其他成员
5.服务器从列表中删除用户