我正在向客户端发送邮件,但是客户端不会停止向该邮件发送垃圾邮件
server.py
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
hostname = socket.gethostname()
hostip = socket.gethostbyname(hostname)
port = 462
server.bind((hostname, port))
server.listen(1)
print((hostip, port))
client, address = server.accept()
print("New connection!: ", address)
while True:
data = input("Do something:")
if data == "help":
print("test: 'test'")
input("Click ENTER to continue")
elif data == "test":
client.send("test".encode('ascii'))
else:
continue
client.py
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostname()
port = 462
s.connect(('', port))
data = s.recv(1024)
while True:
if data.decode('ascii') == "test":
print(data.decode('ascii'))
else:
continue
答案 0 :(得分:1)
您没有发布完整的示例,但我想我可以看到问题出在哪里。
您实际在哪里/何时从client.py中的套接字读取/接收数据?
因为看起来好像您收到了数据,并将其保存在“ data”变量中,然后您一直循环循环解码该数据,而不是从套接字读取
因此,我认为您需要将client.py中的while循环移到外部,以使从套接字读取/接收的方法内部在您的循环中,而不是现在的外部。< / p>
编辑:是的,从您发布的完整代码中,我可以看到确实可以解决您的问题。