import tkinter as tk
from udp服务端_action import action
class Ui:
def __init__(self,root,host,port) -> None:
self.root=root
self.host=host
self.port=port
def setUi(self):
self.root.geometry('600x500+300+200')
self.root.title("udp服务端")
self.fr1=tk.Frame(self.root)
self.bt1=tk.Button(self.fr1,text='开启')
self.bt1.pack()
self.fr1.pack()
ac=action(self.host,self.port)
self.bt1.configure(command=lambda:ac.udp_server())
import socket
class action:
def __init__(self,host,port) -> None:
self.host=host
self.port=port
def udp_server(self):
udp_server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
udp_server.bind((self.host,self.port))
while True:
data,addr=udp_server.recvfrom(1024)
print(data.decode(encoding='utf-8'))
if data==b'exit':
print('服务器退出')
break
udp_server.sendto(data,addr)
udp_server.close()
import tkinter as tk
from udp服务端_ui import Ui
HOST='127.0.0.1'
PORT=10087
if __name__=='__main__':
root=tk.Tk()
ui=Ui(root,HOST,PORT)
ui.setUi()
root.mainloop()
import tkinter as tk
from udp客户端_action import action
class Ui:
def __init__(self,root,host,port) -> None:
self.root=root
self.host=host
self.port=port
def setUi(self):
self.root.geometry('600x500+300+200')
self.root.title("udp客户端")
self.fr1=tk.Frame(self.root)
self.bt1=tk.Button(self.fr1,text='开启')
self.bt1.pack()
self.fr1.pack()
self.create_ac()
def create_ac(self):
ac=action(self.host,self.port)
self.bt1.configure(command=ac.udp_clent)
import socket
class action:
def __init__(self,host,port) -> None:
self.host=host
self.port=port
def udp_clent(self):
udp_client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
while True:
sendData=input('输入')
udp_client.sendto(sendData.encode(encoding='utf-8'),(self.host,self.port))
if sendData=='exit':
print('退出')
break
info=udp_client.recv(1024).decode(encoding='utf-8')
print('收到',info)
udp_client.close()
import tkinter as tk
from udp客户端_ui import Ui
HOST='127.0.0.1'
PORT=10087
if __name__=='__main__':
root=tk.Tk()
ui=Ui(root,HOST,PORT)
ui.setUi()
root.mainloop()