@N0rr

Python как создать соединение через интернет?

Есть 2 простых скрипта

Сервер
from socket import socket, gethostbyname, AF_INET, SOCK_DGRAM
import sys


def main():
    PORT_NUMBER = 5000
    SIZE = 1024
    hostName = gethostbyname('0.0.0.0')
    mySocket = socket(AF_INET, SOCK_DGRAM)
    mySocket.bind((hostName, PORT_NUMBER))
    print("Server is up\n")
    while True:
        (data, addr) = mySocket.recvfrom(SIZE)
        print(data.decode("utf-8"))
    sys.exit()
   
main()

И клиент
import sys
from socket import socket, AF_INET, SOCK_DGRAM


def main():
    SERVER_IP = '192.168.0.103'
    PORT_NUMBER = 5000
    SIZE = 1024
    print("start")

    mySocket = socket(AF_INET, SOCK_DGRAM)
    i = 0
    while i < 5:
        myMessage = input(">")
        mySocket.sendto(myMessage.encode('utf-8'), (SERVER_IP, PORT_NUMBER))
        i = i + 1
    myMessage1 = input(">>")
    mySocket.sendto(myMessage1.encode('utf-8'), (SERVER_IP, PORT_NUMBER))

    sys.exit()

main()

На локалке и при соединении в одной сети всё работает
Вопрос в том как заставить их общаться через интернет
  • Вопрос задан
  • 4904 просмотра
Решения вопроса 2
Rou1997
@Rou1997
Если у вас IP статический и "белый", то узнайте его с помощью internet.yandex.ru и тому подобных сервисов, его и используйте, ну, еще брандмауэр остановите и порты в админ-панели роутера откройте если закрыты, так должно работать. Если IP динамический, но почему-то все-таки "белый", то тоже работать будет, только IP потом изменится, тогда перестанет. Обычно IP от провайдера - динамический и "серый", тогда никак, либо у провайдера подключить IP как доп. услугу, либо арендовать VPS.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
dyndns или постоянный ИП купи у прова
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы