Не удается подключиться к моему собственному серверу publi c (переадресация портов), но инструменты проверки портов могут - PullRequest
0 голосов
/ 17 марта 2020
  • Я запускаю свой сервер с моего компьютера, используя сокет Python.
  • Я также перенаправил порт (TCP / UDP) на порт, который я использую, чтобы сделать его доступным для всех c.
  • Я проверил свой сервер с инструментами проверки портов (например, https://www.canyouseeme.org/) с другого внешнего адреса (другой Wi-Fi), и он заработал!

И теперь я пытаюсь подключиться к серверу с 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")

Этот скрипт не работает! И я понятия не имею, что я делаю не так. Так может ли кто-нибудь помочь мне подключиться к моему серверу, как это делает Port Checker Tools? Спасибо.

...