无法连接到我自己的公用服务器(端口转发),但端口检查器工具可以

2024-05-29 09:32:53 发布

您现在位置:Python中文网/ 问答频道 /正文

  • 我使用Python套接字从计算机运行服务器
  • 我还将端口转发(TCP/UDP)用于向所有人公开该端口
  • 我从不同的外部地址(不同的Wi-Fi)使用端口检查器工具(例如https://www.canyouseeme.org/)测试了我的服务器,它工作正常

现在,我正尝试使用在线找到的以下脚本从Python连接到服务器:

import socket
import time


ip = "my IP"
port = (the port im using, 5 digits, int)
retry = 5
delay = 10
timeout = 3

def isOpen(ip, port):
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(timeout)
        try:
                s.connect((ip, int(port)))
                s.shutdown(socket.SHUT_RDWR)
                return True
        except:
                return False
        finally:
                s.close()

def checkHost(ip, port):
        ipup = False
        for i in range(retry):
                if isOpen(ip, port):
                        ipup = True
                        break
                else:
                        time.sleep(delay)
        return ipup

if checkHost(ip, port):
        print( ip + " is UP")

这个脚本不起作用!我不知道我做错了什么。那么,有谁能像端口检查器工具那样帮助我连接到服务器?谢谢


Tags: 工具端口importip服务器脚本returntime

热门问题