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 了客戶端的鏈接之後,又去嘗試調用套接字(客戶端)對象,因此報錯了。因爲這個套接字已經被關閉了

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