Проблема с подключением к серверу по глобальному IP-адресу в Python

Я написал приложение, состоящее из сервера и клиента, использующих сокеты для обмена сообщениями. Код работает корректно, когда я использую локальный IP-адрес, но когда я пытаюсь заменить локальный IP на глобальный, ничего не происходит и выдается ошибка:

TimeoutError: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера

Вот код сервера:

import socket
sock = socket.socket()
sock.bind(('', 9090))
sock.listen(1)
conn, addr = sock.accept()
print('connected:', addr)
while True:
    data = conn.recv(1024)
    if not data:
        break
    conn.send(data.decode().upper().encode())
conn.close()

Вот код клиента:

import socket


def send_message(message, host, port):
    # Создаем сокет
    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client_socket.connect((host, port))  # Устанавливаем соединение
    client_socket.send(message.encode())
    print(f"Сообщение '{message}' отправлено на {host}:{port}")

    # Получаем ответ от сервера
    response = client_socket.recv(1024)
    print(f"Ответ от сервера: {response.decode()}")

    client_socket.close()


if __name__ == "__main__":
    global_ip = '192.168.56.1'  # Локальный IP
    port = 9090
    message = "Привет, сервер!"

    send_message(message, global_ip, port)

Ответы (0 шт):