python實現(xiàn)的多任務(wù)版udp聊天器功能案例
本文實例講述了python實現(xiàn)的多任務(wù)版udp聊天器。分享給大家供大家參考,具體如下:

說明
編寫一個有2個線程的程序
線程1用來接收數(shù)據(jù)然后顯示
線程2用來檢測鍵盤數(shù)據(jù)然后通過udp發(fā)送數(shù)據(jù)
要求
實現(xiàn)上述要求
總結(jié)多任務(wù)程序的特點
參考代碼:
import socket
import threading
def send_msg(udp_socket):
"""獲取鍵盤數(shù)據(jù),并將其發(fā)送給對方"""
while True:
# 1. 從鍵盤輸入數(shù)據(jù)
msg = input("\n請輸入要發(fā)送的數(shù)據(jù):")
# 2. 輸入對方的ip地址
dest_ip = input("\n請輸入對方的ip地址:")
# 3. 輸入對方的port
dest_port = int(input("\n請輸入對方的port:"))
# 4. 發(fā)送數(shù)據(jù)
udp_socket.sendto(msg.encode("utf-8"), (dest_ip, dest_port))
def recv_msg(udp_socket):
"""接收數(shù)據(jù)并顯示"""
while True:
# 1. 接收數(shù)據(jù)
recv_msg = udp_socket.recvfrom(1024)
# 2. 解碼
recv_ip = recv_msg[1]
recv_msg = recv_msg[0].decode("utf-8")
# 3. 顯示接收到的數(shù)據(jù)
print(">>>%s:%s" % (str(recv_ip), recv_msg))
def main():
# 1. 創(chuàng)建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2. 綁定本地信息
udp_socket.bind(("", 7890))
# 3. 創(chuàng)建一個子線程用來接收數(shù)據(jù)
t = threading.Thread(target=recv_msg, args=(udp_socket,))
t.start()
# 4. 讓主線程用來檢測鍵盤數(shù)據(jù)并且發(fā)送
send_msg(udp_socket)
if __name__ == "__main__":
main()
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
解決python?pip安裝第三方模塊報錯:error:legacy-install-failure
pip是python的第三方庫管理器,可以根據(jù)所開發(fā)項目的需要,使用pip相關(guān)命令安裝不同庫,下面這篇文章主要給大家介紹了關(guān)于解決python?pip安裝第三方模塊報錯:error:?legacy?-?install?-?failure的相關(guān)資料,需要的朋友可以參考下2023-04-04
PyQt5 實現(xiàn)給無邊框widget窗口添加背景圖片
這篇文章主要介紹了PyQt5 實現(xiàn)給無邊框widget窗口添加背景圖片的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python3.5以上版本lxml導入etree報錯的解決方案
這篇文章主要介紹了Python3.5以上版本lxml導入etree報錯的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-06-06
django將網(wǎng)絡(luò)中的圖片,保存成model中的ImageField的實例
今天小編就為大家分享一篇django將網(wǎng)絡(luò)中的圖片,保存成model中的ImageField的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python實現(xiàn)為Excel中每個單元格計算其在文件中的平均值
這篇文章主要為大家詳細介紹了如何基于Python語言實現(xiàn)對大量不同的Excel文件加以跨文件、逐單元格平均值計算,感興趣的小伙伴可以跟隨小編一起學習一下2023-10-10

