import socket import struct import tkinter as tk import threading from udpmsg import * from datetime import datetime from disSys import * from logWin import * from udpComm import * from ccuSys import * # 创建UDP通信套接字 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 目标IP地址和端口号 # target_ip = 'localhost' target_ip = 'localhost' target_port = 5001 server_address = (target_ip, target_port) sock.bind(server_address) # 要发送的消息 # 创建主窗口 root = tk.Tk() root.title("能源管理系统调试") # 创建消息显示窗口 logFrame = tk.LabelFrame(root, text="消息") logFrame.grid(row=0, rowspan=3,column=1, sticky='ns') logwin = logWin(logFrame) logwin.grid(row=0, column=0, sticky='nesw') # 创建配电窗口 disSysFrame = tk.LabelFrame(root, text="配电系统") disSysFrame.grid(row=0, column=0, sticky='ne') disSysWin = disSys(disSysFrame) disSysWin.grid(row=0, column=0, sticky='ne') # 创建ccu消息窗口 ccuSysFrame = tk.LabelFrame(root, text="ccu消息") ccuSysFrame.grid(row=1, column=0, sticky='swe') ccuSysWin = ccuSys(ccuSysFrame) # ccuSysWin.grid(row=0, column=0, sticky='ne') # 创建并启动接收和发送消息的线程 thread = threading.Thread(target=receive_messages, args=(sock, logwin, disSysWin)) thread.daemon = True thread.start() thread2 = threading.Thread(target=send_messages, args=(sock, logwin, disSysWin,ccuSysWin)) thread2.daemon = True thread2.start() # 运行主循环 root.mainloop() # 关闭套接字 sock.close()