【发布时间】:2021-07-20 01:42:25
【问题描述】:
我一直在寻找与 PYTHON 中 C# 的 [isConnected() 功能] 等效的东西。 https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.socket.connected?view=net-5.0
我基本上需要的是检查另一端(主服务器)上的套接字连接是否仍然打开。如果没有,请将连接移至新的套接字(备份服务器)。
对于如何将现有连接移动到另一台服务器而无需重新连接,我一直很茫然。任何形式的指导和帮助将不胜感激。
现在,我与服务器的连接是在 Login() 处完成的。我希望以防万一主要断开连接,现有用户名移动到次要用户名。他只应该执行文件和文字操作。我应该在我的代码中做哪些更改来实现这一点。
我目前的代码结构是: 客户端:
def file_operation():
do_something
def word_addition():
do_something
def login():
s.connect(host,port)
if __name__ == "__main__":
服务器端:
def accept_client():
s.accept
do_something
def GUI():
accept_client()
if __name__ == "__main__":
【问题讨论】:
-
试图从中获取什么信息?早点好了吗?
-
即使在 C# 中
.isConnected()也没有真正做太多事情。特别是,尽管它的名字,它并不能真正告诉你是否仍然有连接。 -
@KlausD。我的要求是:我需要查看主套接字是否连接。如果没有,则将现有的客户端连接移动到备份服务器...
-
@gunr2171 链接中使用的功能适用于 C#。我在 Python 中需要同样的功能
-
你可以看到一个socket没有连接,但是你不能reliability看到它是否连接。只需发送必须发送的任何内容,并在引发异常时处理它们。
标签: python c# python-3.x multithreading sockets