Переглянути джерело

基于 socket 的网络代理通信检测程序

dzr 4 місяців тому
батько
коміт
e43bebd5d0
1 змінених файлів з 34 додано та 0 видалено
  1. 34 0
      common/net.py

+ 34 - 0
common/net.py

@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+"""
+Created on 2025-04-03 
+---------
+@summary:  
+---------
+@author: Dzr
+"""
+import socket
+
+
+def dial_timeout(addr, port, timeout=1):
+    check_ret = False
+
+    # 创建一个TCP/IP套接字
+    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+
+    # 设置连接超时时间
+    s.settimeout(timeout)
+    try:
+        # 尝试连接到指定的地址和端口
+        s.connect((addr, port))
+        print("成功连接到 {}:{}".format(addr, port))
+        check_ret = True
+    except socket.timeout:
+        # 如果连接超时,打印错误信息
+        print("连接超时")
+    except socket.error as e:
+        # 其他socket错误处理
+        print("连接错误: {}".format(e))
+    finally:
+        # 关闭套接字
+        s.close()
+        return check_ret