net.py 865 B

1234567891011121314151617181920212223242526272829303132333435
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on 2025-04-03
  4. ---------
  5. @summary:
  6. ---------
  7. @author: Dzr
  8. """
  9. import socket
  10. from common.log import logger
  11. def dial_timeout(addr, port, timeout=1):
  12. state = False
  13. # 创建一个TCP/IP套接字
  14. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  15. # 设置连接超时时间
  16. s.settimeout(timeout)
  17. try:
  18. # 尝试连接到指定的地址和端口
  19. s.connect((addr, port))
  20. logger.info("成功连接到 {}:{}".format(addr, port))
  21. state = True
  22. except socket.timeout:
  23. # 如果连接超时,打印错误信息
  24. logger.error("连接超时 {}:{}".format(addr, port))
  25. except socket.error as e:
  26. # 其他socket错误处理
  27. logger.error("连接错误: {}".format(e))
  28. finally:
  29. # 关闭套接字
  30. s.close()
  31. return state