我编写了一个客户端/服务器应用程序。我从以bool类型输出的服务器接收数据。如您所知,我在客户端中接收的数据以字节为单位,因此我将其解码为字符串,然后解码为整数类型。取决于数据值,我想在标签中显示一些信息。该程序实际上执行了我想要的操作,但是在出现第一条消息后却没有显示该信息。在查看已发送数据的迭代之后,标签将打开并根据需要更改其值。怎么了?如果程序可以运行,为什么在最初的几次迭代中循环不能正常工作,但是后来循环了?
#!/usr/bin/env python
import socket
import tkinter as tk
TCP_IP = '192.168.0.15'
TCP_PORT = 62
BUFFER_SIZE = 4096
data = b''
def counter_label(label)
def count(label):
global data
data = s.recv(BUFFER_SIZE)
dane_str = data.decode("utf-8")
dane_int = int(dane_str)
if dane_int != 0:
psa=15
else:
psa = 22
label.config(text=str(psa))
label.after(1, count)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
root = tk.Tk()
label = tk.Label(root, fg="green", font="Verdana 200 bold")
label.pack()
counter_label(label)
root.mainloop()