首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中的socket.close(fd)。什么叫“fd”?

Python中的socket.close(fd)。什么叫“fd”?
EN

Stack Overflow用户
提问于 2020-07-07 05:40:27
回答 2查看 1.5K关注 0票数 0

我这里有个代码:

代码语言:javascript
复制
import socket
socket.close()

我收到一个警告,socket.close()缺少'fd‘参数。对于一般用法,我应该填写什么整数?整数意味着什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-07 06:15:06

试着寻找一个清晰的解释,但如果你处于困境中,区域发展援助提到的答案可能是最好的选择。为了澄清,如果您创建了一个名为my_socket的新套接字,那么请尝试执行my_socket.close()。基于官方的python文档,尝试类似于

代码语言:javascript
复制
# Echo client program
import socket
import 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 server
my_socket = None
for 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

在试图找出这一点的同时,我还查看了这个职位,其中很多都与套接字编程方法文章中的断开部分的信息相呼应。

进一步查看套接字模块文档页面,似乎有一节fd作为参数,而另一节则没有.不太清楚这部分,所以其他人能澄清这是怎么回事吗?

有关套接字的更多信息,请访问另一个如此回答和这个套接字和文件描述符的快速幻灯片

我不知道这里的最佳解决方案,也不理解所有的东西,所以如果我犯了一个错误,或者下面有更好的资源评论!

票数 0
EN

Stack Overflow用户

发布于 2020-07-07 05:45:32

这里的fd是“文件描述符”,您必须知道如何处理文件描述符、文件描述符fd (由文件对象的fileno()方法返回的整数)并根据结果构建一个套接字对象。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62768793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档