我编写代码来确定与远程服务器 mysql 的连接。这是我的代码:
import MySQLdb
def connect_remote():
try:
db = MySQLdb.connect("192.168.1.7", "root_a","","luan_van")
return 1
except MySQLdb.OperationalError, e:
if e[0] == 2003:
return 0
while 1:
x = connect_remote()
print x
如果我在远程服务器(192.168.1.7)中“启动或停止所有服务”wampserver,它运行良好。
现在我假设切断以太网连接服务器的电缆,代码是停止。如何认定此案?
我不明白禁用 mysql 和切断电缆之间的区别。
最佳答案
您可以区分的唯一三种情况是:
- 服务器位于网络上,但主动拒绝 MySQL 端口上的连接
- 服务器位于网络上,但根本不响应 MySQL 端口上的连接尝试
- 服务器未响应任何网络流量
您无法确定比这三种情况更详细的信息,并且区分 2 和 3 需要额外的工作,例如 ping 服务器以查看它是否有响应。
对于您的具体问题,服务器已连接但无响应(即操作系统崩溃,上述情况 3)与电缆被切断之间没有明显区别。您无法区分与远程主机的区别。
关于python - 如何判断服务器断线(以太网线被切断的情况),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26895676/