Что нужно вписать в метод socket.bind(HOST, PORT) и socket.connect(HOST, PORT) в Python?

Что нужно вписать в метод socket.bind(HOST, PORT) и socket.connect(HOST, PORT) в Python? Что только я в .bind не писал вместо имени хоста - и свой айпи, и имя своего хоста, который узнавал на сайтах на подобии https://myhostname.net/. В варианте с айпи выдавало ошибку:

OSError: [WinError 10049] Требуемый адрес для своего контекста неверен.

Я могу спокойно использовать localhost, но в данном случае подключатся смогу только я.

В варианте с именем хоста выдавало ошибку:

socket.gaierror: [Errno 11004] getaddrinfo failed.

Код сервера:

import socket

HOST = Не палю свой хост, здесь я вписывал данные с сайта выше.
PORT = int(50557)

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((HOST, PORT))
sock.listen(1)
conn, addr = sock.accept()

print('connected:', addr)

while True:
    data = conn.recv(1024)
    print(data.decode())
    if not data:
        break
    conn.send(data.upper())

conn.close()

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

Автор решения: Alex F
sock.bind(('', PORT))

'' означает: все Ethernet интерфейсы на компьютере.

Для клиента используете имя или IP адрес сервера, и тот же порт:

sock.connect(name_or_ip_address, PORT);

Документация:

For IPv4 addresses, two special forms are accepted instead of a host address: '' represents INADDR_ANY, which is used to bind to all interfaces, and the string '<broadcast>' represents INADDR_BROADCAST.

socket — Low-level networking interface

→ Ссылка