Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何确定服务器断开连接(案例切断电缆以太网)_Python_Mysql_Python 2.7_Python 3.x_Mysql Python - Fatal编程技术网

Python 如何确定服务器断开连接(案例切断电缆以太网)

Python 如何确定服务器断开连接(案例切断电缆以太网),python,mysql,python-2.7,python-3.x,mysql-python,Python,Mysql,Python 2.7,Python 3.x,Mysql Python,我编写代码来确定与远程服务器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:

我编写代码来确定与远程服务器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,它运行良好

现在我假设切断了以太网连接服务器的电缆,代码是stop。如何识别这个案例


我不明白禁用mysql和切断电缆之间的区别

只有三种情况可以区分:

  • 服务器在网络上,但主动拒绝MySQL端口上的连接
  • 服务器在网络上,但对MySQL端口上的连接尝试完全没有响应
  • 服务器未响应任何网络流量
  • 您无法确定比这三种情况更详细的内容,区分2和3需要额外的工作,例如ping服务器以查看它是否有响应


    对于您的特定问题,正在连接但无响应的服务器(即操作系统崩溃,上面的案例3)和正在切断的电缆之间没有明显区别。您无法区分与远程主机的区别。

    “我不理解禁用mysql和切断电缆之间的区别”:首先从远程堆栈“立即”返回一个错误,表示端口上没有侦听内容,其次需要长时间等待以确保服务器没有可用的路由,(一条路由可能就在一个卫星和两个调制解调器链路后面)。好的,谢谢你的评论