From fdf5f03a13d48ec64401a2c95743650ca4ce6d30 Mon Sep 17 00:00:00 2001 From: King's Way <io@stdio.io> Date: Sat, 3 Jul 2021 15:26:39 +0800 Subject: [PATCH] take 'Connection Refused' as a successful ping probe --- clients/client-linux.py | 14 ++++++++++---- clients/client-psutil.py | 11 ++++++++--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/clients/client-linux.py b/clients/client-linux.py index c3ef97f..c946300 100755 --- a/clients/client-linux.py +++ b/clients/client-linux.py @@ -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() diff --git a/clients/client-psutil.py b/clients/client-psutil.py index 307f3dd..80a9810 100755 --- a/clients/client-psutil.py +++ b/clients/client-psutil.py @@ -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()