gpt4 book ai didi

python - socket.gaierror : [Error -2] Name or service not known

转载 作者:行者123 更新时间:2023-12-03 12:08:23 27 4
gpt4 key购买 nike

套接字模块中的一切都在工作,但是 socket.get host by name 给出了一个不希望的错误。

这是客户端代码:

import socket
s = socket.socket()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostbyname("DESKTOP-HC36K46")
port = 1122
s.connect((host,port))
print("CONNECTED TO SERVER")
while True:
data = s.recv(2)
print(str(data))
data = str(data)
if(data == "b'w'"):
print("W")
elif(data == "b's'"):
print("S")
elif(data == "b'a'"):
print("A")
elif(data == "b'd'"):
print("D")
elif(data == "b'wa'"):
print("WA")
elif(data == "b'wd'"):
print("WD")
elif(data == "b'sa'"):
print("SA")
elif(data == "b'sd'"):
print("SD")

这段代码在 Windows PC 上运行良好,但是当我尝试在 Linux(Raspbian 或 Kali Linux)上运行它时,它给了我错误

socket.gaierror: [Error -2] Name or Service not known



我能做些什么来解决这个问题?

最佳答案

您的问题是 socket.gethostbyname("DESKTOP-HC36K46") - 这应该返回与该名称关联的 IP 地址,但 python 不会自己执行此操作,python 所做的只是向操作系统询问地址。最终,系统将使用其配置的方法将名称解析为 IP 地址,而不是 python。

您的 windows 系统返回正确的地址,但您的 linux 系统可能配置错误,在这种情况下没有返回地址。

无论如何,这不是python问题,python方面没有什么可解决的,除了可能删除这一行并直接对ip地址进行硬编码:

host = '192.168.0.4' # or whatever is the ip address

关于python - socket.gaierror : [Error -2] Name or service not known,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51270047/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com