肝了一夜!我用Python打造了一款武林外傳QQ聊天室
公眾號?“菜鳥學(xué)Python”
第439篇原創(chuàng),設(shè)為 “星標(biāo)”,一起學(xué)Python!

大家在平時的學(xué)習(xí)或者是生活中,想必都少不了群聊,無論是微信還是QQ,都有群聊的內(nèi)容,有的時候想打造一個小團(tuán)體專屬的聊天室,不被服務(wù)器記錄信息,這樣的小工具其實Python就可以輕松辦到,大概100-200行代碼即可完成。
今天小編就帶領(lǐng)大家利用Python來打造一款局域網(wǎng)下的聊天室,小編是武林外傳的鐵粉,干脆用武林外傳的人物來打造一個虛擬的聊天室,給大家展示一下。
01.原理介紹
今天用到的庫大部分都是Python的內(nèi)置庫,唯一一個需要額外安裝的庫是Pillow庫。安裝的方式也非常的簡單,只要運行pip3 install Pillow即可完成安裝,用的Python的版本是Python3.7版本。
在局域網(wǎng)下,大家可以簡單的理解為只要大家所使用的網(wǎng)都是基于一個 路由器出來的網(wǎng)絡(luò)信號就可以。而微信聊天室的基本原理,可以用下面的圖來簡單的解釋:

程序設(shè)計思路圖
上圖中主要分為服務(wù)器端和客戶端兩個部分:
服務(wù)器端只存在一個,而可以存在多個客戶端;
客戶端與服務(wù)器端之間存在信息的交互,客戶端將信息發(fā)送給服務(wù)器端后;
服務(wù)器將收到的信息群發(fā)給每一個客戶端;
這樣就可以在每個客戶端中顯示群聊的信息,實現(xiàn)聊天室的功能。
02.程序設(shè)計
對于核心原理有一個簡單的認(rèn)識之后,接下來我們來看一下,服務(wù)器端和客戶端程序是如何實現(xiàn)吧。
01).服務(wù)器設(shè)計


02).客戶端的設(shè)計
客戶端由于涉及到了用戶的界面設(shè)計,所以程序上會比較繁瑣一點,首先是用戶登錄系統(tǒng)的設(shè)置。

上述的用戶窗口程序作用是用來進(jìn)行用戶的登錄信息的驗證,其效果圖如下所示。


當(dāng)我們正常進(jìn)入聊天室后,聊天室的頁面布局如下圖所示。


在send函數(shù)中,函數(shù)獲取用戶的輸入信息,并將信息發(fā)送給給服務(wù)器端,而上面的get_msg函數(shù),則是用來接收服務(wù)器端發(fā)來的信息,并將信息顯示在聊天室的窗口中。
03.視頻展示
以上的程序便是服務(wù)器端和客戶端的程序內(nèi)容的展示,接下來我們運行一下程序進(jìn)行結(jié)果的展示吧。

程序員GitHub,現(xiàn)已正式上線!
接下來我們將會在該公眾號上,專注為大家分享GitHub上有趣的開源庫包括Python,Java,Go,前端開發(fā)等優(yōu)質(zhì)的學(xué)習(xí)資源和技術(shù),分享一些程序員圈的新鮮趣事。
年度爆款文案
6).30個Python奇淫技巧集?
點這里,獲取新手福利

