计算机网络课设_即时通讯软件
- Created on: 2015年6月25日
-
Author: yongliangzh,gzxultra - Finished on: 2015年x月xx日


用户在点击聊天窗口的关闭按钮后,客户机发送”1##用户名”到服务器代表该用户已经退出,服务器将发送用户退出信号” 1##用户名”给该用户的所有在线好友。 客户机在收到服务器发送过来的”1##用户名”后随即显示该户下线。
用户输入聊天内容向目标用户发送消息时,客户机将发送”2##用户名##目标用户##信息”到服务器,服务器收到信息后,在已在线的用户列表中查询到目标用户的IP地址和端口号,直接向目标用户转发该帧。 目标用户在收到该帧时,即可得到发送方的用户名和发送的内容,然后显示消息。
我们通过FTP服务器实现传文件的功能。当一个用户向另一个用户传文件时,发送方将文件上传到接收方的FTP服务器对应的文件夹中,然后发送传文件信号”3##用户名##目标用户##文件名”给服务器。服务器收到信息后,在已在线的用户列表中查询到目标用户的IP地址和端口号,直接向目标用户转发该帧。 文件的接收方在收到该帧后,通过文件名在自己对应FTP服务器的文件夹中找到该文件,然后便可以下载文件到本地文件夹中。
当A申请加B为好友时,客户机A发送好友申请信号”4##用户名##待加好友名##验证消息”到服务器。服务器收到信息后,在已在线的用户列表中查询到目标用户的IP地址和端口号,直接向目标用户转发该帧。 客户机B收到服务器发来的该帧后,做出决定(Y/N),然后向服务器发出B的确认信息” 5##用户名##待加好友名##是否成功”。服务器收到该帧后,随即向A转发。如果B同意了A的好友请求,服务器就将B和A的用户名分别写入A和B服务器本地的好友列表中。 客户机A收到来自服务器的客户机B的确认信息后,根据帧尾的是否成功信号显示添加好友成功或者是添加好友失败。
服务器本地使用文本文件维护着所有用户的离线信息,当服务器向用户转发消息时检查到用户不在线,就将离线消息暂时存放在用户在服务器的本地文件中。当用户上线时,服务器则会检查该用户在服务器的本地文件中有没有离线信息。如果有的话就立即取出,向该用户发送,然后清空该文件。 该用户收到自己的离线信息后,同一般信息一样的操作即可。
首先我们使用程序进行整个的印屏幕操作,然后通过获得鼠标在屏幕上的坐标点选择需要截图的区域,最后在全屏图片上裁剪下截取出来的图片。后面的操作和传文件一样,客户机上传图片到FTP服务器,对方从FTP服务器上下载。
这个和聊天功能类似,即在服务器向客户机发送的” 2##用户名##目标用户##信息”中的用户名是”服务器”便可。
这个功能采用第三方的feedparser模块,他采用http请求的方式以rss的形式将中新网的html下载下来并保存在元组中,然后我分别将title,description和link等关键字解包出来,显示在窗体上。








