目录
一、功能介绍 3
1、登录 3
2、查询好友是否在线,添加好友/接受好友请求 4
3、与好友文字聊天 6
4、文件传输 7
5、多人文字聊天(选做) 10
6、P2P 文件分发(选做) 10
7、UDP 协议通信(选做) 12
8、设计模拟服务器(选做) 13
二、通信设计 14
1、与服务器的通信 14
2、添加好友 14
3、单人聊天 15
4、发起群聊 16
5、群聊 17
6、UDP 文字聊天 18
7、模拟服务器 20
三、通信协议 20
1、添加好友 20
2、单人聊天 20
3、群聊 21
四、界面设计 23
1、客户端 23
2、模拟服务器 27
五、总结 28
这次大作业完成了相对比较完整的聊天软件的设计,体验了自己设计软件通信、软件界面的感受,属实不易。在完成大作业的过程中遇到来不少问题,比如两个客户端通信的时序问题、双方握手的协议问题 等。
软件的一个界面内可能需要完成多个任务、需要监听多个端口,这就要求设计者有一个清晰的思路和鲁棒的通信方式,否则很容易陷入混乱。比如两个客户端在好友列表界面发起聊天,如果直接将二者发起聊
天的 socket 连接传入聊天窗口进行通信,会出现通信与监听混乱的问题。所以需要当二者第一次连接后,在新的端口重新进行连接。
总之,通过完成这次大作业,我对课本理论知识的理解得到了提 高,动手能力和解决问题的能力得到锻炼。将理论知识应用到实际中, 给我带来了很大的成就感。