#python #sockets #networking
#python #сокеты #сеть
Вопрос:
Я смотрел видео с сокетом на python, в этом видео они создали простой файл клиента и сервера, и как только клиент подключится к серверу, он отправит сообщение клиенту, это можно сделать в локальной сети только потому, что там мы используем IP-адрес локального хоста. Мой вопрос в том, как мне создать тот, который работает через Интернет, а не только в локальной сети, также у меня есть динамический IP-адрес. Я попытался использовать noip.com чтобы получить сервер имен хостов, который автоматически обновит динамический IP-адрес, но он показывает ошибку, когда я пытаюсь связать его как
Ошибка ОС: [WinError 10049] Запрошенный адрес недопустим в его контексте
server.py
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('chatbotpersonal.ddns.net', 5555))
#here in the video they used 127.0.0.1 as it is for localhost
s.listen()
while True:
client, address = s.accept()
print(f'connected to {address}')
client.send('You are connected'.encode())
client.close()
client.py
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('chatbotpersonal.ddns.net', 5555))
message = s.recv(1024)
s.close()
print(message.decode())
Заранее благодарю. Я новичок в этом сокете и сети, пожалуйста, поделитесь со мной.
Комментарии:
1. перейдите к whatismyip.org и посмотрите на свой ip-адрес, затем перейдите к своему маршрутизатору и настройте правила для пересылки трафика по каналу 5555 на ваш локальный компьютер… затем вы можете подключаться так, как хотите… но в целом для однорангового типа требуется какой-то централизованный сервер, который в основном действует как посредник (т. Е. Большинство пользователей не знают, как проверить свой IP-адрес, не говоря уже о переадресации порта настройки на своем маршрутизаторе
2. @JoranBeasley Спасибо за ответ, но я это знаю. Я не думаю, что вы прочитали это правильно, у меня есть динамический IP-адрес, он меняется через некоторое время, если я использую свой текущий ip, я должен менять его каждый раз, и это не решение
3. сначала заставьте его работать с вашим обычным нелокальным ip… тогда вы должны быть на 99% готовы к решению noip… поскольку вам все равно нужно будет перенаправить порт с вашего маршрутизатора и т.д., чтобы получить решение noip