我这里有个代码:
import socket
socket.close()我收到一个警告,socket.close()缺少'fd‘参数。对于一般用法,我应该填写什么整数?整数意味着什么?
发布于 2020-07-07 06:15:06
试着寻找一个清晰的解释,但如果你处于困境中,区域发展援助提到的答案可能是最好的选择。为了澄清,如果您创建了一个名为my_socket的新套接字,那么请尝试执行my_socket.close()。基于官方的python文档,尝试类似于
# 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作为参数,而另一节则没有.不太清楚这部分,所以其他人能澄清这是怎么回事吗?
有关套接字的更多信息,请访问另一个如此回答和这个套接字和文件描述符的快速幻灯片。
我不知道这里的最佳解决方案,也不理解所有的东西,所以如果我犯了一个错误,或者下面有更好的资源评论!
发布于 2020-07-07 05:45:32
这里的fd是“文件描述符”,您必须知道如何处理文件描述符、文件描述符fd (由文件对象的fileno()方法返回的整数)并根据结果构建一个套接字对象。
https://stackoverflow.com/questions/62768793
复制相似问题