Я использую tkinter и twisted для отображения сообщений UDP в формате GUI. Это мой код:
import tkinter as tk
from twisted.internet import tksupport, reactor
from twisted.internet.protocol import DatagramProtocol
class RX(DatagramProtocol):
def datagramReceived(self, datagram, address):
self.msg = datagram.decode('utf-8')
self.transport.write(datagram, address)
class RX_GUI():
def __init__(self):
self.root = tk.Tk()
tksupport.install(self.root)
self.reactor = reactor.listenUDP(7201, RX())
reactor.run()
self.msg = tk.Label(self.root,text=self.reactor.msg)
self.msg.grid()
self.root.mainloop()
RX_GUI()
Вот некоторый сопутствующий код для отправки сообщений:
import socket
import time
ip = '127.0.0.1'
port = 7201
msg = "Hello World"
while True:
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.sendto(msg.encode(), (ip, port))
time.sleep(1)
Как я могу получить сообщение "Hello World" для отображения в окне tkinter, когда это получено?