XmurCat
@XmurCat
начинающий програмист

Как в пайтон отправить переменную на другой локальный компьютер?

мне потребовалось соединить 2 локальных компьютера для передачи переменной из 1 скрипта в другой для этого я использовал библиотеку socket.
но столкнулся с такой проблемой то к компьютеру невозможно подключится то он превышает время ожидания хотя оба они подключены к одному роутеру и оба подключены через кабель.
я уже пробовал и копировать с интернета готовый коды соединений но всё бестолку. на данный момент пытался соединиться этим кодом:

# SERVER
import socket
HOST = socket.gethostbyname('Comp_server')
PORT = 3000 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

sock.bind((HOST, PORT))
sock.listen(1)
conn, addr = sock.accept()
data = conn.recv(1024).decode('utf-8')
print(data)


# CLIENT
import socket
HOST = socket.gethostbyname('Comp_server')
PORT = 3000 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
sock.send('Text'.encode('utf-8'))
sock.close()

в коде для сервера пишется: [WinError 10049] Требуемый адрес для своего контекста неверен
пробовал на прямую указывать ip но бестолку всё также
  • Вопрос задан
  • 183 просмотра
Решения вопроса 1
@SunTechnik
Comp_server. Здесь должно быть указано имя того компьютера, на котором запускается серверная часть.

На сервере - можно указать ip 0.0.0.0. Это означает слушать данный порт на всех интерфейсах. Но на клиенте, в этом поле надо указать ip адрес сервера. Если указываете имя, то оно должно правильно резолвится в ip адрес.

Для выяснения своего ip используйте команду
ipconfig /all
Для проверки связи используйте на клиенте
ping здесь_указать_ip_или_имя_сервера.

На сервере может так же мешать firewall.
На время тестов - отключите его. По хорошему - надо прописывать правила для нужных портов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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