免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      公司電腦不讓用IM工具聊天?50行代碼寫個聊天室

      公司電腦不讓用IM工具聊天?50行代碼寫個聊天室

      作者:小K

      來源:麥?zhǔn)寰幊?/p>

      今天教大家寫個聊天室功能,該程序只有幾十行代碼,這比動輒幾百兆的通訊軟件包來說簡直就是“神純凈版本”。而且關(guān)閉解釋環(huán)境之后是不會留下任何信息痕跡的,所以可以放心使用。

      原理/流程

      需要用到TCP/IP協(xié)議,Socket技術(shù)。

    1. 我們需要先建立一個主機(jī),讓他監(jiān)聽對應(yīng)的端口號。
    2. 如果有客戶端訪問該端口號建立TCP連接。
    3. 主機(jī)收到有客戶端上線的提示,并向該客戶端發(fā)送消息。
    4. 客戶端收到消息之后也可以向主機(jī)發(fā)送消息。
    5. 先寫個主機(jī)端(Server)

      import sockethost = socket.gethostname() #獲取主機(jī)地址port = 8888 #設(shè)置端口號nick_name = “麥?zhǔn)?#8221;s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind((host, port)) # 綁定地址s.listen(1) # 設(shè)置最多連接數(shù)量sock, addr = s.accept() # 被動接收TCP客戶端連接print(‘Connected’)info = sock.recv(1024).decode() # 接收Client數(shù)據(jù)while ‘Quit’ not in info: if info: print(info) send_data = input(‘輸入發(fā)送內(nèi)容:’) send_data = nick_name + “: ” + send_data sock.send(send_data.encode()) # 發(fā)送TCP數(shù)據(jù)包 if ‘Quit’ in send_data: break info = sock.recv(1024).decode() # 接收Client數(shù)據(jù)sock.close() # 關(guān)閉客戶端Sockets.close() # 關(guān)閉服務(wù)端Socket

      主機(jī)端代碼分為三部分,

      第一部分:構(gòu)建主機(jī)的HOST和PORT…創(chuàng)建監(jiān)聽任務(wù);

      第二部分:接收發(fā)送 數(shù)據(jù);

      第三部分:當(dāng)輸入“Quit”之后,斷開連接,程序結(jié)束(影響客戶端)。

      再寫個客戶端(Client)

      import sockets = socket.socket() # 創(chuàng)建TCP/IP套接字host = socket.gethostname() # 獲取主機(jī)地址port = 8888nick_name = “小K”s.connect((host, port)) # 初始化TCP服務(wù)器連接print(‘Client Connected’)info = ”while ‘Quit’ not in info: send_data = input(‘輸入發(fā)送的內(nèi)容:’) send_data = nick_name + “: ” + send_data s.send(send_data.encode()) # 發(fā)送TCP數(shù)據(jù) if ‘Quit’ in send_data: break info = s.recv(1024).decode() #接收服務(wù)端數(shù)據(jù) print(info)s.close() # 關(guān)閉Socket連接

      主機(jī)端代碼分也為三部分,

      第一部分:構(gòu)建HOST和PORT信息,并與主機(jī)端創(chuàng)建連接;

      第二部分:接收發(fā)送 數(shù)據(jù);

      第三部分:當(dāng)輸入“Quit”之后,斷開連接,程序結(jié)束(不影響主機(jī)端)。

      試試功能

      使用兩個命令行終端,分別運(yùn)行兩個代碼文件;

      聊天功能;

      體驗(yàn)非常好!

      后記

      上文的兩段代碼只是實(shí)現(xiàn)了最簡單的聊天功能,如果想做的更像一個聊天室,可以在上面的代碼中對其進(jìn)行深度開發(fā)。

      最后可能會開發(fā)出一個QQ一樣的程序~

      CDA數(shù)據(jù)分析師分享案例,歡迎大家留言分享你的建議。

      鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
      (0)
      用戶投稿
      上一篇 2022年6月21日 12:21
      下一篇 2022年6月21日 12:21

      相關(guān)推薦

      聯(lián)系我們

      聯(lián)系郵箱:admin#wlmqw.com
      工作時間:周一至周五,10:30-18:30,節(jié)假日休息