南加利福尼亚大学CS353 Assignment1课业解析
题意:
建立一个聊天系统,支持客户端之间的通讯
解析:
任务的主要目的是对客户端-服务器网络模型的应用程序的实践,需要使用Python3.5以上进行开发。
任务分为三个步骤
part1:一台客户端和一台服务器。客户机和服务器之间使用UDP嵌套字来进行信息交换。服务器在指定的端口运行,客户端链接到服务器后使用客户端的名称发送注册信息,之后等待用户的输入。同时需要实现以下的命令行指令: 服务端指令:-p portno(服务器的端口号) -l logfile(日志文件名字) 客户端指令:-s serverIP(服务器的地址) -p portno(客户端连接到服务器的端口) -l logfile(日志文件名) -n myname(客户端的名字) 并且在客户端输入exit,应该终止客户端,在服务端上按下ctrl+C终止服务器。
part 2:多客户端和一台服务器。将part-one进行扩展,为了支持多客户端之间的信息交换,需要fork一个线程为每个客户端建立链接,这样就能同时处理。而且需要添加额外的消息类型表明消息来自或发送到哪个客户机。
part3:多客户端和多服务端。多个服务器之间以TCP socket建立一个网络,客户端能够通过服务器连接到另一个服务器的客户机,从而实现聊天系统。
涉及知识点:TCP,UDP,Python
更多可加微信讨论
微信号:alexa_au