#python #sockets #server #client
#python #сокеты #сервер #клиент
Вопрос:
Итак, на моей стороне сервера я открываю socket
:
host = '192.168.0.20'
port = 9999
socket = socket.socket()
socket.bind((host, port))
socket.listen(5)
И со client
стороны:
socket = socket.socket()
host = '192.168.0.20'
port = 9999
socket.connect((host, port))
Теперь, потому что я хочу, чтобы мой server
был более общим, поэтому вместо указания ip address
я пытаюсь сделать это таким образом:
host=socket.gethostname()
И из моего client
просто подключитесь к моему имени хоста.
Но, к сожалению, сейчас это работает.
Есть предложения?
Комментарии:
1. почему не socket.gethostbyname(socket.gethostname()) ?
2. socket.gethostbyname(socket.gethostname()) со стороны клиента?
3. Проблема в том, что, поскольку на моей машине есть несколько сетевых карт, одна из них — это реальный IP-адрес, а другая — 169.254.x.x, и иногда ваш код возвращает этот поддельный IP-адрес, а не реальный
4. хорошо, какую ошибку вы получаете с помощью socket.connect((хост, порт))?
5. Возможно, так как я могу это исправить?