基于socket和tkinter的python网络聊天室程序

总的来说聊天室功能比较简单,只是一个练习用的demo,但是其中一些关于tk和socket的东西值得记录一下。最终的功能包括:注册、登录、显示聊天室在线成员、聊天。先来几张运行截图:

基于socket和tkinter的python网络聊天室程序

基于socket和tkinter的python网络聊天室程序      基于socket和tkinter的python网络聊天室程序

基于socket和tkinter的python网络聊天室程序

因为代码比较少,所以服务端和客户端的代码写在一起的,整个代码结构如下:

基于socket和tkinter的python网络聊天室程序

其中只有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

分享到:
赞(0)