一个局域网即时通信 (IM) 软件客户端。需要服务端的支持才能使用。
当然如果把服务端放在公网服务器上的话是可以广域网使用的。
先输入服务器的 IP 地址,默认端口号是 8889
,可以根据自己需要在代码中修改。
现在有登录框了,所以该指令已经没有必要输入了。(但服务端的身份验证系统还是没有完成,请使用默认密码/login [Name] [Password]
首先需要使用该指令进行登录,否则不能发消息,也不能接收消息。目前仅支持默认密码123456
登录(因为服务端还没有做身份验证,使用其他密码会登录失败)123456
登录)/setName [NewName]
修改自己的昵称/sendto [Name]
发送私聊消息给特定昵称的人。如果有相同昵称,则有相同昵称的人都会收到消息。
目前仅支持以上三种指令。还有正在开(gu)发(gu)中(gu)的功能:
/setPassword [OldPw] [NewPw]
重设密码
以后会考虑加入文件传输和图片发送功能(可能还会有富文本发送功能)。
/text [IP] [Message]
显示由某 IP 发送的消息。/sendby [IP] [Message]
显示由某 IP 发送的私聊消息。/login [true/false]
返回登录状态信息。登录成功返回true
(字符串),登录失败则返回false
。/newUser [IP] [Name]
新建一个用户,同时在客户端创建字典映射,并显示类似于“XXX 已加入聊天”的消息。/delUser [IP]
删除一个用户,同时删除在客户端的字典映射,并显示类似于“XXX 退出了聊天”的消息。/changeName [IP] [Name]
修改用户昵称,同时在客户端修改字典映射,并显示“XXX 已将名字修改为 OOO”这样的消息。/server [Message]
显示由服务端发送的广播信息。
基于 socket 协议进行文本传输。
除密码外,其他文本都是明文传输的(毕竟密码有现成的 MD5 库,服务端保存 MD5 加密后的文本,而聊天内容需要自己写加密协议,比较麻烦)。
多线程方式进行发送和接收。
使用 PyQt5 图形界面库,基于 Qt Designer 软件绘制图形界面(所以想要直接运行源代码需要先安装 PyQt5 库,指令为 pip install PyQt5
)。