总的来说聊天室功能比较简单,只是一个练习用的demo,但是其中一些关于tk和socket的东西值得记录一下。最终的功能包括:注册、登录、显示聊天室在线成员、聊天。先来几张运行截图:
因为代码比较少,所以服务端和客户端的代码写在一起的,整个代码结构如下:
其中只有Server.py是服务器端的代码,服务器端没有界面。其它文件的作用分别如下:
- Client.py 负责和Server的socket通信,主要是收发数据
- LoginPanel.py 登陆界面
- Main.py 客户端的入口,负责调度各个界面之间的切换和调用client发送接收数据
- MainPanel.py 聊天室主界面
- MD5 md5算法
- RegisterPanel.py 注册界面
- data 目录,存放用户帐号密码数据
- image 目录,存放图标
完整的代码和打包的exe文件
链接: https://pan.baidu.com/s/1qjaNx-gxZhBQbj-s3dV8gA 提取码: ebqt
启动方式为:
1)先启动Server.exe开始监听端口(12323),或者直接用python运行Server.py
2)再启动一个或多个Main.exe打开客户端的界面,或者直接用python运行Main.py
这里再代码中写的是直接连接本地(127.0.0.1)的服务器,如果需要测试客户端连接远程服务器,只需要将Client.py中第10行的ip地址换成服务器地址即可,换端口也是同理。
作者:HuQJ 以上文字转载自http://www.huqj.top/article?id=169
评论抢沙发