如何用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
- 用udp方式進行聊天的java實現. (轉)UDPJava
- 用UDP實現區域網內聊天程式UDP
- 【專案原始碼】- 【區域網聊天】android實現區域網聊天 - UDP實現原始碼AndroidUDP
- java Socket Udp聊天JavaUDP
- python網路-多工實現之協程Python
- Python實現UDP包程式設計PythonUDP程式設計
- UDP聊天程式補充UDP
- 如何用H5實現一個觸屏版的輪播器?H5
- 如何用 Python 實現 Web 抓取?PythonWeb
- 多執行緒實現多工二執行緒
- 多執行緒實現多工一執行緒
- 【Java】Java多執行緒實現的聊天客戶端和伺服器Java執行緒客戶端伺服器
- 乾貨 | 如何用 Python 打造一個聊天機器人?【附程式碼】Python機器人
- Python實現多人線上匿名聊天的小程式Python
- Python基於TCP實現聊天功能PythonTCP
- Python實現簡單的udp打洞(P2P)PythonUDP
- 如何用Java寫一個聊天機器人Java機器人
- 你知道如何用 PHP 實現多程式嗎?PHP
- c 語言實現 tcp/udp 伺服器功能TCPUDP伺服器
- 如何用PHP實現Socket伺服器PHP伺服器
- python 實現 TCP、UDP 客戶端最簡流程PythonTCPUDP客戶端
- 使用Python語言通過PyQt5和socket實現UDP伺服器PythonQTUDP伺服器
- 用c#快速實現的智慧聊天機器人C#機器人
- Python 3.6:多型的實現Python多型
- CDH叢集機器,安裝多個CDH版,會出現命令找不到,如hadoop,hdfs等等Hadoop
- Python中的多工:多執行緒Python執行緒
- Python使用socket的UDP協議實現FTP檔案服務PythonUDP協議FTP
- java實現UDP通訊JavaUDP
- 基於Retrofit2實現的LycheeHttp-多工下載的實現HTTP
- Node TCP /UDP 簡易聊天室TCPUDP
- 如何用 TensorFlow 訓練聊天機器人(附github)機器人Github
- 報警機制如何用多執行緒實現執行緒
- 如何用python實現郵箱傳送資訊Python
- 萌新如何用Python實現人臉替換?Python
- Python實現工廠模式的兩個例子Python模式
- spring quartz如何實現多工定時Springquartz