运行时Python套接字错误号-3



在安装Python 1.6(我能找到的唯一一个Python.pet)后,在一台运行Lucid puppy 5.2的旧笔记本电脑上运行和测试一些IRC机器人时,每隔几次运行Python文件,我就会收到这个奇怪的错误:

Traceback (most recent call last):
    File "bot.py!, line 77, in <module>
       irc.connect ( (irc_network, irc_port) ) 
    File "<string>", Line 1, in connect
socket.gaierror: [Errno -3] Temporary failure in name resolution

这是导致此错误的代码部分:

irc_network = 'irc.esper.net'
irc_port = 5555
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( irc_network, irc_port ) )

我只是使用socket模块,没有任何类型的第三方导入。我不知道这个错误是什么,它意味着什么,因为一个快速的谷歌没有为我找到任何东西

令人困惑的事实是,我可以再次尝试运行机器人,而不更改任何内容,它运行得很好。

谢谢你抽出时间。

我唯一能想到的是你的DNS解析程序没有正常工作。在这里,这个代码运行良好。


BTW(只是一个评论),如果你更换

irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( irc_network, irc_port ) )

带有

irc = socket.create_connection( ( irc_network, irc_port ) )

你更经得起未来的考验,因为你不局限于一个将在未来几十年消失的旧协议。

我刚刚遇到了同样的问题。事实证明,我的DNS无法解析我的主机名,是的,草率地只给了我的主机名称,而没有给主机.node1.node2。所以,查找你的主机名,如果它不起作用,那么你需要更具体,基本上你正在查找你的DNS A或Quad A记录,并使用你的DNS可以解析的名称。另一种可能是您还没有DNS列表。

最新更新