如何用Python實現多工版的udp聊天器
導讀 | 這篇文章主要為大家詳細介紹了Python實現多工版的udp聊天器,文中示例程式碼介紹的非常詳細,具有一定的參考價值,感興趣的小夥伴們可以參考一下 |
一、案例示例
二、案例說明
1、編寫一個有2個執行緒的程式。
2、執行緒1用來接收資料然後顯示。
3、執行緒2用來檢測鍵盤資料然後透過udp傳送資料。
三、參考程式碼
import socket import threading def send_msg(udp_socket): """獲取鍵盤資料,並將其傳送給對方""" while True: # 1. 從鍵盤輸入資料 msg = input("\n請輸入要傳送的資料:") # 2. 輸入對方的ip地址 dest_ip = input("\n請輸入對方的ip地址:") # 3. 輸入對方的port dest_port = int(input("\n請輸入對方的port:")) # 4. 傳送資料 udp_socket.sendto(msg.encode("utf-8"), (dest_ip, dest_port)) def recv_msg(udp_socket): """接收資料並顯示""" while True: # 1. 接收資料 recv_msg = udp_socket.recvfrom(1024) # 2. 解碼 recv_ip = recv_msg[1] recv_msg = recv_msg[0].decode("utf-8") # 3. 顯示接收到的資料 print(">>>%s:%s" % (str(recv_ip), recv_msg)) def main(): # 1. 建立套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 2. 繫結本地資訊 udp_socket.bind(("", 7890)) # 3. 建立一個子執行緒用來接收資料 t = threading.Thread(target=recv_msg, args=(udp_socket,)) t.start() # 4. 讓主執行緒用來檢測鍵盤資料並且傳送 send_msg(udp_socket) if __name__ == "__main__": main()
以上就是本文的全部內容,希望對大家的學習有所幫助
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2784523/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java用UDP實現簡單聊天JavaUDP
- 如何用 UDP 實現可靠傳輸?UDP
- python網路-多工實現之協程Python
- Python實現簡單的udp打洞(P2P)PythonUDP
- 如何用H5實現一個觸屏版的輪播器?H5
- Python基於TCP實現聊天功能PythonTCP
- 乾貨 | 如何用 Python 打造一個聊天機器人?【附程式碼】Python機器人
- 多執行緒實現多工二執行緒
- 多執行緒實現多工一執行緒
- python 實現 TCP、UDP 客戶端最簡流程PythonTCPUDP客戶端
- 你知道如何用 PHP 實現多程式嗎?PHP
- 如何用Java寫一個聊天機器人Java機器人
- 使用Python語言通過PyQt5和socket實現UDP伺服器PythonQTUDP伺服器
- Python 3.6:多型的實現Python多型
- Python使用socket的UDP協議實現FTP檔案服務PythonUDP協議FTP
- c 語言實現 tcp/udp 伺服器功能TCPUDP伺服器
- 如何用PaddlePaddle實現機器翻譯?
- java實現UDP通訊JavaUDP
- Node TCP /UDP 簡易聊天室TCPUDP
- Python中的多工:多執行緒Python執行緒
- Python網路程式設計實現TCP和UDP連線Python程式設計TCPUDP
- 【機器學習】多項式迴歸python實現機器學習Python
- Python實現工廠模式的兩個例子Python模式
- 聊聊UDP、TCP和實現一個簡單的JAVA UDP小DemoUDPTCPJava
- 基於Retrofit2實現的LycheeHttp-多工下載的實現HTTP
- 萌新如何用Python實現人臉替換?Python
- 如何用python實現郵箱傳送資訊Python
- python實現的簡單點對點(p2p)聊天Python
- Python中迭代器的實現Python
- 如何用無伺服器技術實現最佳的DevOps實踐伺服器dev
- 用node實現一個簡單的聊天室—— 升級版
- Java實現多執行緒區域網聊天室Java執行緒
- Python基於Socket實現簡易多人聊天室Python
- 如何用hutool-db實現多資料來源配置
- Python使用multiprocessing實現多程序Python
- SignalR簡版web聊天室(實現過程分析篇)SignalRWeb
- Python 實現工廠模式、抽象工廠,單例模式Python模式抽象單例
- 如何用Python實現iPhone X的人臉解鎖功能?PythoniPhone