Python -- socket 执行客户端 .py 提示 socket.error: [Errno 9] Bad file descriptor

import socket

client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client.connect(("10.10.0.1",8888))
# 给服务端一个信号
flag = 'Windows'
client.sendall(flag)
while True:
    msg = client.recv(1024)
    print(msg)
    if len(msg) !=0:
        client.close()
        break

提示上述错误是因为在 while 循环中没有加 break。我们当下的逻辑是如果服务端返回给我们了一段不为空的内容,则我们将这段内容输出,并且关闭客户端的连接

但是如果没有在 if len(msg) !=0 中加入 break 语句,则我们在 close 了客户端的链接之后,又去尝试调用套接字(客户端)对象,因此报错了。因为这个套接字已经被关闭了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章