方法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

本文介绍两种方法用于批量检测服务器的网络连接状态。方法一使用Python的os和threading模块,通过非阻塞方式检查多个IP和端口的连接状态。方法二利用socket模块直接检查目标IP和端口是否可达,提供一种更简洁高效的解决方案。
786

被折叠的 条评论
为什么被折叠?



