take 'Connection Refused' as a successful ping probe

This commit is contained in:
King's Way 2021-07-03 15:26:39 +08:00
parent 05f9784b1e
commit fdf5f03a13
2 changed files with 18 additions and 7 deletions

@ -28,6 +28,7 @@ import re
import os
import sys
import json
import errno
import subprocess
import threading
try:
@ -181,11 +182,16 @@ def _ping_thread(host, mark, port):
try:
b = timeit.default_timer()
socket.create_connection((IP, port), timeout=1).close()
pingTime[mark] = int((timeit.default_timer()-b)*1000)
pingTime[mark] = int((timeit.default_timer() - b) * 1000)
packet_queue.put(1)
except:
lostPacket += 1
packet_queue.put(0)
except socket.error as error:
if error.errno == errno.ECONNREFUSED:
pingTime[mark] = int((timeit.default_timer() - b) * 1000)
packet_queue.put(1)
#elif error.errno == errno.ETIMEDOUT:
else:
lostPacket += 1
packet_queue.put(0)
if packet_queue.qsize() > 30:
lostRate[mark] = float(lostPacket) / packet_queue.qsize()

@ -168,9 +168,14 @@ def _ping_thread(host, mark, port):
socket.create_connection((IP, port), timeout=1).close()
pingTime[mark] = int((timeit.default_timer() - b) * 1000)
packet_queue.put(1)
except:
lostPacket += 1
packet_queue.put(0)
except socket.error as error:
if error.errno == errno.ECONNREFUSED:
pingTime[mark] = int((timeit.default_timer() - b) * 1000)
packet_queue.put(1)
#elif error.errno == errno.ETIMEDOUT:
else:
lostPacket += 1
packet_queue.put(0)
if packet_queue.qsize() > 30:
lostRate[mark] = float(lostPacket) / packet_queue.qsize()