1、内容
本实验做的是基于MQTT的聊天室,主要特点有:
1. 部署方面,Server端代码运行于我一个云服务器端,我在本地只要启动Client端的服务即可连接上服务;
2. 用户操作方面,用户可以进行的操作有:登录、注册、选择聊天室、聊天、获取该聊天室以往所有内容;
3. 数据通信方面,所有通信都是基于MQTT的发布-订阅机制。单个Client和Server通信时,登录、注册和获取聊天室所有内容Server以特定的topic进行发布,比如说登录就用“login”,Server端根据主题不同处理不同客户端的操作,以各自客户端的唯一标识为主题发布消息,确保准确的客户端收到信息;,而Server发布某一个聊天室某一条最新消息时,使用的topic是聊天室的名字;用户登录成功后会获得Server端发布的一个token,接下来请求信息时使用token通信;
4. 也因为采用了token,对用户进行严格的区分,同一账号在同一时间只能在一个Client端登录,即本地若开了两个Client登录同个账号,也会只有晚登录的Client有效。
5. 代码较多,已上传到github