总的来说聊天室功能比较简单,只是一个练习用的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

python聊天室socket+tkinter_基于socket和tkinter的python网络聊天室程序相关推荐

  1. 简单网络聊天程序java_基于Java实现hello/hi简单网络聊天程序

    Socket简要阐述 Socket的概念 Socket的英文原义是"孔"或"插座". 在网络编程中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连 ...

  2. php cannot bind port to socket,PHP基于socket实现客户端和服务端通讯功能

    本文主要介绍了PHP基于socket实现的简单客户端和服务端通讯功能,可实现服务端接收客户端发送的字符串进行翻转操作后返回客户端的功能,需要的朋友可以参考下 服务端: set_time_limit(0 ...

  3. 学python可以改善思维_基于培养思维能力的Python语言程序设计教学

    周蓉 摘要:Python语言有着简洁,高效和生态的三大特点,在中职学校引入计算机程序设计Python语言课程的教学,可以培养学生解决问题的思维能力,可以面向问题引发兴趣培养思维能力,引导创新.实践表明 ...

  4. java socket编程客户端_Java Socket编程 - 基于Socket实现HTTP下载客户端

    没有借助任何第三方库,完全基于JAVA Socket实现一个最小化的HTTP文件下载客 户端.完整的演示如何通过Socket实现下载文件的HTTP请求(request header)发送 如何从Soc ...

  5. java socket 实现 http_Java Socket编程 - 基于Socket实现HTTP下载客户端

    没有借助任何第三方库,完全基于JAVA Socket实现一个最小化的HTTP文件下载客 户端.完整的演示如何通过Socket实现下载文件的HTTP请求(request header)发送 如何从Soc ...

  6. python 乡镇轮廓 高德_基于高德地图api和Python的区县地理边界坐标提取

    在工作中,经常想用到类似于地热图的方式进行数据展示,奈何工作环境是内网,无法在线进行地图关联,没办法,只好自己想办法上网找边界坐标. 查了很多文档和费心以后,最终发现高德地图api的方法和方式最简单, ...

  7. ios视频通话三方_iOS基于Socket.io即时通讯IM实现,WebRTC实现视频通话

    Socket.io-FLSocketIM-iOS 基于Socket.io iOS即时通讯客户端 iOS IM Client based on Socket.io 实现功能 文本发送 图片发送(从相册选 ...

  8. 网络聊天室_TCP服务端

    初学Python记录点滴生活_1 ps:正经人谁写日记? 网络聊天室_TCP服务端 具体实现步骤 1.编写一个TCP服务端程序,循环等待接受客户端的连接请求 2.当客户端和服务端建立连接成功,创建子线 ...

  9. 基于node.js实现分销类微信聊天机器人

    基于node.js实现分销类微信聊天机器人 文章目录 基于node.js实现分销类微信聊天机器人 前言 一.涉及技术栈 二.实现代码 1.登录模块 2.聊天消息接收事件 总结 git地址 前言 最近遇 ...

  10. 基于jupyter编程环境下——Python入门:列表4

    列表 四.操作列表 1.使用列表的一部分 -- 切片 2.元组 Python资料:Python编程XG:从入门到实践. 四.操作列表 1.使用列表的一部分 -- 切片 在前面学习了如何访问单个列表元素 ...

最新文章

  1. tf.keras.losses.SquaredHinge 损失函数 示例
  2. js跨域请求方式 ---- JSONP原理解析
  3. spring security oauth2 架构---官方
  4. 【BZOJ3242】【UOJ#126】【NOI2013】快餐店
  5. 利用WOFF模糊和电报渠道进行通信
  6. opencv ppt效果_opencv几何图形画法
  7. GPRS管理与创建APN拨号连接
  8. win10 pin码如何设置
  9. c how to program; 习题:3.25 编写一个利用循环打印表格数据的程序.
  10. typecho图标_使你的Typecho支持Emoji表情
  11. 肖哥所有课程/HCNA HCNP/安全/云计算/虚拟化/linux/视频教程/资料软件下载链接
  12. 我的世界联机侠怎么删除java_我的世界联机侠怎么增加房间人数
  13. 【行业专题报告】城市、智慧城市-专题资料
  14. 计算机无法访问家庭组内打印机,Win7电脑无法连接共享打印机拒绝访问怎么办...
  15. android 显示大屏幕_android android如何将优化的体验带到大屏幕
  16. 执念斩长河21年Q2生活心得
  17. 《C语言入门经典》Ivor Horton 第九章 练习题
  18. 看完这篇,你一定会打开谷歌搜索...
  19. LSF---【bsub命令】
  20. 解读Unity中的CG编写Shader系列4——unity中的圆角矩形shader

热门文章

  1. java int的取值范围为什么负数比正数多1
  2. 和一群程序猿的旧金山优胜美地之旅
  3. Android 软键盘的那些坑,原理篇来了!
  4. Word 只读模式修改
  5. ios 自己服务器 苹果支付_修复苹果IOS支付
  6. 精选黑科技资源站点,总会有你需要的干货!
  7. 企业的商业模式和盈利模式概述,业务流程再造
  8. python图片保存jpg、show变成bmp_python bmp转换为jpg 并删除原图的方法
  9. GHO文件安装全教程
  10. php 监控网页更新提醒,web网站股票自动监控提醒实时变化