python 實現多工udp聊天器

2021-09-17 22:29:38 字數 1019 閱讀 1346

相關**

import socket

import threading

def recv_msg(udp_socket):

"""接收資料並顯示"""

# 接收資料

while true:

recv_data = udp_socket.recvfrom(1024)

print(recv_data)

def send_msg(udp_socket, dest_ip, dest_port):

"""傳送資料"""

# 傳送資料

while true:

send_data = input("輸入要傳送的資料:")

udp_socket.sendto(send_data.encode("utf-8"), (dest_ip, dest_port))

def main():

"""完成udp聊天器的整體控制"""

# 1. 建立套接字

udp_socket = socket.socket(socket.af_inet, socket.sock_dgram)

# 2. 繫結本地資訊

udp_socket.bind(("", 7890))

# 3. 獲取對方的ip

dest_ip = input("請輸入對方的ip:")

dest_port = int(input("請輸入對方的port:"))

# 4. 建立2個執行緒,去執行相應的功能

t_recv = threading.thread(target=recv_msg, args=(udp_socket,))

t_send = threading.thread(target=send_msg, args=(udp_socket, dest_ip, dest_port))

t_recv.start()

t_send.start()

if __name__ == "__main__":

main()

Python實現多工版的udp聊天器

1 編寫乙個有2個執行緒的程式。2 執行緒1用來接收資料然後顯示。3 執行緒2用來檢測鍵盤資料然後通過udp傳送數wxwyc據 import socket import threading def send msg udp socket 獲取鍵盤資料,並將其傳送給對方 while true 1.從鍵...

多工UDP聊天器

任務說明 import socket import threading 傳送資料函式 def send msg udp socket send content input 請輸入您要傳送的資料 send data send content.encode gbk dest port int input...

Python 多工之協程(3)實現多工

學習理解迭代器和生成器之後,開始使用協程來實現多工 當乙個函式中包含yield關鍵字,那麼這個函式就不再是乙個普通的函式,它的返回值是乙個生成器物件。我們可以使用next 或send 函式來啟動喚醒生成器物件,當程式第一次執行到yield時,程式暫停執行,並返回yield後邊跟的變數,當再次喚醒時,...