我寫了一個代碼,它只發送一個預先建立的文本。我明白了,但文本無休止地發送,不間斷,我希望它只發送一次。請問我該怎么做?
服務器
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())
結果并沒有停止列印 hi
uj5u.com熱心網友回復:
while 1:
意思是:永遠回圈。客戶端將永遠回圈發送訊息,客戶端中不需要while 1:
。
您可能還想while 1:
在第 9 行從服務器中洗掉,因為服務器將永遠不會在第 11 行退出以下回圈。
如果您希望 while 回圈停止回圈,您可以檢查某事的狀態,您可以將 替換1
為布爾運算子(true/1 或 false/0)。以下是一些Python 布爾運算子
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/479878.html