python udp如何實現同時收發信息
udp實現同時收發信息
import socket import threading def fa(udp_socket,recv_ip,recv_data): # 3 發送信息 while True: data = input("輸入你要發送的數據:") udp_socket.sendto(data.encode("utf-8"),(recv_ip,recv_data)) def shou(udp_socket): # 4接收數據 while True: user_data = udp_socket.recvfrom(1024) a = user_data[0] b = user_data[1] print("用戶:%s發來的數據為:%s" % (str(b), a.decode("utf-8"))) def main(): # 1創建套接字 udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # 2 綁定本地信息 udp_socket.bind(("",7892)) recv_ip = input("輸入對方ip:") recv_data = int(input("輸入對方端口:")) t1 = threading.Thread(target=fa,args=(udp_socket,recv_ip,recv_data)) t2 = threading.Thread(target=shou,args=(udp_socket,)) t1.start() t2.start() if __name__ == '__main__': main()
結果:
python做發送udp工具
import socket from time import sleep s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) nCnt = 0 while True: if nCnt >5 : sleep(2) nCnt = 0 for data in [b'$123;CLEARHOLE;Product_id,Barcode_Cnt,0,NG,05&,\r', ]: # 發送數據: s.sendto(data, ('127.0.0.1', 10000)) # 接收數據:CLEARHOLE #print(s.recv(1024).decode('utf-8')) sleep(0.5) nCnt += 1 s.close()
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Python實現多任務版的udp聊天器
- Python 基於TCP 傳輸協議的網絡通信實現方法
- 使用python實現UDP通信方式
- Python制作簡易聊天器,搭建UDP網絡通信模型
- python socket多線程實現客戶端與服務器連接