肝了一夜!我用Python打造了一款武林外传QQ聊天室
公众号 “菜鸟学Python”
第439篇原创,设为 “星标”,一起学Python!

大家在平时的学习或者是生活中,想必都少不了群聊,无论是微信还是QQ,都有群聊的内容,有的时候想打造一个小团体专属的聊天室,不被服务器记录信息,这样的小工具其实Python就可以轻松办到,大概100-200行代码即可完成。
今天小编就带领大家利用Python来打造一款局域网下的聊天室,小编是武林外传的铁粉,干脆用武林外传的人物来打造一个虚拟的聊天室,给大家展示一下。
01.原理介绍
今天用到的库大部分都是Python的内置库,唯一一个需要额外安装的库是Pillow库。安装的方式也非常的简单,只要运行pip3 install Pillow即可完成安装,用的Python的版本是Python3.7版本。
在局域网下,大家可以简单的理解为只要大家所使用的网都是基于一个 路由器出来的网络信号就可以。而微信聊天室的基本原理,可以用下面的图来简单的解释:

程序设计思路图
上图中主要分为服务器端和客户端两个部分:
服务器端只存在一个,而可以存在多个客户端;
客户端与服务器端之间存在信息的交互,客户端将信息发送给服务器端后;
服务器将收到的信息群发给每一个客户端;
这样就可以在每个客户端中显示群聊的信息,实现聊天室的功能。
02.程序设计
对于核心原理有一个简单的认识之后,接下来我们来看一下,服务器端和客户端程序是如何实现吧。
01).服务器设计


02).客户端的设计
客户端由于涉及到了用户的界面设计,所以程序上会比较繁琐一点,首先是用户登录系统的设置。

上述的用户窗口程序作用是用来进行用户的登录信息的验证,其效果图如下所示。


当我们正常进入聊天室后,聊天室的页面布局如下图所示。


在send函数中,函数获取用户的输入信息,并将信息发送给给服务器端,而上面的get_msg函数,则是用来接收服务器端发来的信息,并将信息显示在聊天室的窗口中。
03.视频展示
以上的程序便是服务器端和客户端的程序内容的展示,接下来我们运行一下程序进行结果的展示吧。

程序员GitHub,现已正式上线!
接下来我们将会在该公众号上,专注为大家分享GitHub上有趣的开源库包括Python,Java,Go,前端开发等优质的学习资源和技术,分享一些程序员圈的新鲜趣事。
年度爆款文案
点这里,获取新手福利

