Представим что у нас следующий Python скрипт test_app.py с таким содержимым:
import socket
host = socket.gethostname()
idress = socket.gethostbyname(host)
port = 2021
server_socket = socket.socket()
server_ssocket.bind((host, port))
server_socket.listen(1)
....и т.д.
На одном ПК данный код успешно выполняется, отрабатывает как следует, а при запуске этого же скрипта на другом ПК, появляется непредвиденная ошибка:
Traceback (most recent call last):
File “test_app.py”, line X1, in < module >
File “test_app.py”, line X2, in server_programm
socket.gaierror: [Errno 11004] getaddrinfo failed
[4044] Failed to execute script test_app
Будь у нас в указанных строках указан сразу IP адрес или URL, было бы понятно что не определяется или IP или URL указан не верно, но в данном случае то определяется HOST устройства, причем того, на котором запускается скрипт.
В данном случае ларчик открывался просто, однако решение проблемы было выявлено лишь после долгих разбирательств, увы разобрался не сразу.
Проблема в названии имени ПК. Если имя компьютера или другого устройства, содержит в своем названии символы кириллицы, при попытке определения имени хосты будет выдана ошибка. Если компьютер переименовать используя только символы латиницы, данная ошибка должна пропасть. Например ПК называется «Домашний», переименовываем его в»Home» ну или по аналогии.
К этой записи нет комментарий. Ваш будет первым!