socket不停地发送一个文本,在一个循环中,我希望它只发送一次
A text is sent by socket non-stop, in a loop, I wanted it to be sent only once
我写了一个代码,只发送一个预先建立的文本。我明白了,但是文本不断地、不停地发送,我希望它只发送一次。请问我该怎么做?
服务器
from socket import *
host = gethostname()
port = 8889
print(f'HOST: {host} , PORT {port}')
serv = socket(AF_INET, SOCK_STREAM)
serv.bind((host, port))
serv.listen(5)
while 1:
con, adr = serv.accept()
while 1:
msg = con.recv(1024)
print(msg.decode())
客户
from socket import *
host = gethostname()
port = 8889
cli = socket(AF_INET, SOCK_STREAM)
cli.connect((host, port))
while 1:
msg = ("hi")
cli.send(msg.encode())
The result does not stop printing the hi
while 1:
表示:永远循环。
客户端会一直循环发送消息,客户端不需要while 1:
.
您可能还想从第 9 行的服务器中删除 while 1:
,因为服务器永远不会在第 11 行退出以下循环。
如果您希望 while 循环停止循环,您可以检查某物的状态,您可以将 1
替换为布尔运算符(true/1 或 false/0 ).这里有一些 Python boolean operators
我写了一个代码,只发送一个预先建立的文本。我明白了,但是文本不断地、不停地发送,我希望它只发送一次。请问我该怎么做?
服务器
from socket import *
host = gethostname()
port = 8889
print(f'HOST: {host} , PORT {port}')
serv = socket(AF_INET, SOCK_STREAM)
serv.bind((host, port))
serv.listen(5)
while 1:
con, adr = serv.accept()
while 1:
msg = con.recv(1024)
print(msg.decode())
客户
from socket import *
host = gethostname()
port = 8889
cli = socket(AF_INET, SOCK_STREAM)
cli.connect((host, port))
while 1:
msg = ("hi")
cli.send(msg.encode())
The result does not stop printing the hi
while 1:
表示:永远循环。
客户端会一直循环发送消息,客户端不需要while 1:
.
您可能还想从第 9 行的服务器中删除 while 1:
,因为服务器永远不会在第 11 行退出以下循环。
如果您希望 while 循环停止循环,您可以检查某物的状态,您可以将 1
替换为布尔运算符(true/1 或 false/0 ).这里有一些 Python boolean operators