2014-11-12 2 views
0

원격 서버 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을 비활성화하고 케이블을 잘라내는 것의 차이점을 모르겠습니다.

도와주세요. 감사. 당신이 구별 할 수

+0

'mysql을 비활성화하고 케이블을 끊는 것의 차이점을 이해할 수 없습니다.': 원격 스택에서 '즉시'오류를 반환하고 포트에서 수신 대기 중이라는 메시지가 나타나지 않고 두 번째로 라우트가 없도록 기다려야합니다. 서버에서 사용할 수 있습니다 (하나의 경로는 위성과 두 개의 모뎀 링크 뒤에있을 수 있습니다). –

+0

의견을 보내 주셔서 감사합니다. – nistelrooy41001662

답변

1

유일한 삼가지 경우는 다음과 같습니다

  1. 서버는 네트워크에 있지만 MySQL의 포트에 적극적으로 거부 연결
  2. 서버가 네트워크에 연결되어 있지만에 대한 연결 시도에 전혀 응답하지 MySQL의 포트
  3. 서버는 이러한 삼가지 경우보다 더 자세한 것을 확인할 수 없습니다

네트워크 트래픽에 대응하고, B를 구별하지 않습니다 2와 3 사이에는 서버에 핑 응답과 같은 추가 작업이 필요합니다.

사용자의 특정 질문에 대해 서버가 연결되어 있지만 응답이 없으면 (즉, OS가 손상되고 위의 사례 3) 케이블이 절단되는 것과 눈에 띄는 차이가 없습니다. 원격 호스트와의 차이점을 알 수 없습니다.

관련 문제