2 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
這里的 fd 是“文件描述符”,您必須知道如何處理文件描述符、文件描述符 fd(文件對(duì)象的 fileno() 方法返回的整數(shù))并根據(jù)結(jié)果構(gòu)建套接字對(duì)象。

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
試圖尋找一個(gè)明確的解釋,但如果你陷入困境, rdas提到的答案可能是最好的選擇。澄清一下,如果您創(chuàng)建一個(gè)名為 的新套接字my_socket
,請(qǐng)嘗試執(zhí)行my_socket.close()
。根據(jù)官方python 文檔,嘗試類似
# Echo client programimport socketimport sys HOST = 'daring.cwi.nl' # The remote host# you need to indicate the host name here# use# HOST = socket.gethostbyname("")# to use '0.0.0.0'PORT = 50007 # The same port as used by the servermy_socket = Nonefor res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM): af, socktype, proto, canonname, sa = res try: my_socket = socket.socket(af, socktype, proto) except OSError as msg: my_socket = None continue try: my_socket.connect(sa) except OSError as msg: my_socket.close() my_socket = None continue break
在試圖解決這個(gè)問題時(shí),我還查看了這篇文章,其中很多內(nèi)容與Socket Programming HOWTO文章中斷開連接部分的信息相呼應(yīng)。
進(jìn)一步查看套接字模塊文檔頁面,似乎有一個(gè)部分fd
作為參數(shù)包含在內(nèi),但另一部分沒有......不確定這部分,所以其他人可以澄清一下嗎?這里發(fā)生了什么?
有關(guān)一般套接字的更多信息,請(qǐng)查看其他 SO 答案和有關(guān)套接字和文件描述符的快速幻燈片。
我不知道這里的最佳解決方案,也不了解所有內(nèi)容,所以如果我犯了錯(cuò)誤或有更好的資源,請(qǐng)?jiān)谙旅嬖u(píng)論!
添加回答
舉報(bào)