方法1:
import os
import threading
def check_client_status(ip, port):
if os.system('nc -i 1 -w 1 {0} {1}'.format(ip, port)) != 0:
print "{0} {1}".format(ip, port)
def start_check():
ins_ips = [(ip, port), ...] # ip清單
thread_list = list()
for ip, port in ins_ips:
thread_list.append(threading.Thread(target=check_client_status, args=(ip, port)))
for thread in thread_list:
thread.start()
for thread in thread_list:
thread.join()
print "check all clients status complete!"
方法2:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((ip, port))
if result == 0:
flag = True # 服務的端口是通的
else:
flag = False # 伺服器端口不通
return flag