如果觉得这应该非常明显,但不知何故我没有在文档中找到它:https://docs.python.org/3/library/socket.html
考虑一下
import socket
my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
如何检查 my_socket
上是否调用了 connect()
。目前,我的代码在我的类中设置了一个单独的 bool 值,但我相信应该可以向套接字对象询问这一点。为了澄清起见,我正在编写客户端代码,并且想在我的类中提供一些自省(introspection),以检查套接字是否已连接到服务器。
类似于
my_socket.is_connected()
=> False
my_socket.connect(("127.0.0.1", 42))
=> None
my_socket.is_connected()
=> True
最佳答案
尝试调用 getpeername()
并处理产生的错误或状态(如果未连接)。
关于python - 检测 TCP 套接字上是否调用了 `connect()`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51083560/