почему, когда я пытаюсь подключиться к другому устройству, он говорит, что getaddrinfo не удалось?

#python #socket.io

Вопрос:

Я не знаю почему, но когда я использую один и тот же ноутбук, он работает, но если я использую другой, я получаю ошибку

[Ошибка 11001]ошибка getaddrinfo

сервер:

 import socket
port = 2121
ip = '0.0.0.0'
print(ip)
s = socket.socket()
s.bind((ip,port))
s.listen()
while True:
    c, adrr = s.accept()
    name1 = c.recv(1024).decode('utf-8')
    print("connected with: ",adrr,name1)
    c.send(bytes("hello "   name1, 'utf-8'))
    b = True
    while b:

        a = c.recv(1024).decode('utf-8')
        print(a)
        i = input("Enter a message: ")
        c.send(bytes("server: "   i ,'utf-8'))
 

клиент:

 import socket

c = socket.socket()
c.connect(('0.0.0.0', 2121))

name = input("Enter ur Name: ")
c.send(bytes(name, 'utf-8'))

print(c.recv(1024).decode('utf-8'))
while True:
    msj = input("WRITE HERE: ")
    print(name   " : "   msj)
    c.send(bytes(name   " : "   msj, 'utf-8'))
    print(c.recv(1024).decode('utf-8'))
 

Комментарии:

1. Клиент не может connect() 0.0.0.0 этого сделать , он должен использовать один из фактических IP-адресов, к которым привязан сервер. Сервер может bind() 0.0.0.0 прослушивать все доступные интерфейсы локальной сети, поэтому клиенты могут использовать любой IP-адрес сервера, до которого они могут добраться.