Python套接字不会阻止垃圾邮件

时间:2018-12-11 19:07:47

标签: python sockets

我正在向客户端发送邮件,但是客户端不会停止向该邮件发送垃圾邮件

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

1 个答案:

答案 0 :(得分:1)

您没有发布完整的示例,但我想我可以看到问题出在哪里。

您实际在哪里/何时从client.py中的套接字读取/接收数据?

因为看起来好像您收到了数据,并将其保存在“ data”变量中,然后您一直循环循环解码该数据,而不是从套接字读取

因此,我认为您需要将client.py中的while循环移到外部,以使从套接字读取/接收的方法内部在您的循环中,而不是现在的外部。< / p>

编辑:是的,从您发布的完整代码中,我可以看到确实可以解决您的问题。