修复 Python 错误 Socket.Gaierror: [Errno 8] Nodename Nor Servname Provided, or Not Known
Python 中的套接字模块为 Berkeley 套接字 API 提供了一个接口。 套接字有助于连接网络上的两个节点,以便它们可以相互通信。
有时,在使用套接字模块时,您可能会在 Python 中遇到套接字错误。 本篇文章将介绍在 Python 中解决该错误。
Python 重现 socket.gaierror: [Errno 8] nodename nor servname provided, or not known
在这里,我们将重新创建 socket.gaierror 并解释如何在 Python 中解决它。
以下脚本是等待客户端连接到指定端口的服务器。
import socket
s = socket.socket()
host = 'localhost'
port = 1234
s.bind((host, port))
s.listen(5)
while True:
c, addr = s.accept()
print('Connection received from', addr)
c.send('Thank you for connecting')
c.close()
socket.socket()
函数创建套接字对象,socket.bind()
将套接字绑定到指定地址。
socket.accept()
在客户端连接时接受连接。 当连接成功时,它返回输出并关闭连接。
下面是一个连接到指定主机的客户端。
import socket
s = socket.socket()
host = socket.gethostname()
port = 1234
s.connect((host, port))
print(s.recv(1024))
s.close
现在在后台运行 server.py,接下来运行 client.py。
$ python server.py &
$ python client.py
输出:
修复 Python 错误 socket.gaierror: [Errno 8] nodename nor servname provided, or not known
输出显示错误发生在第 7 行,其中代码为 s.connect((host, port))
。 这是因为 socket.gethostname()
返回了当前运行 Python 解释器的机器的主机名。
但是您必须指定主机 IP 地址而不是主机名。 您可以通过在 client.py 文件中将主机指定为 localhost 或 127.0.0.1 来解决此问题。
import socket
s = socket.socket()
host = 'localhost'
port = 1234
s.connect((host, port))
print(s.recv(1024))
s.close
输出:
现在我们知道如何修复 Python 中的套接字错误。 我们希望大家觉得本篇文章对大家有所帮助。
相关文章
Python 中 Importerror: Install XLRD for Excel Support 错误
发布时间:2023/05/16 浏览次数:162 分类:Python
-
在本篇文章中,我们将探讨在 Python 中使用 Pandas 包时可能遇到以下错误的原因和解决方案。ImportError: Install xlrd >= 0.9.0 for Excel support 。让我们首先简要介绍一下 Pandas。
解决 Python 中 TypeError: An Integer Is Required 错误
发布时间:2023/05/16 浏览次数:100 分类:Python
-
在 Python 代码中发生的另一个最常见的错误是 TypeError。本文将展示我们如何在 Python 中得到 TypeError。 此外,我们将通过使用必要的示例和解释来讨论该主题,以使该主题更容易理解。
Python 中 ConnectionRefusedError: [Errno 61] Connection Refused 错误
发布时间:2023/05/16 浏览次数:189 分类:Python
-
有时在设计客户端-服务器程序时,您可能会遇到错误 ConnectionRefusedError。Python中 ConnectionRefusedError 错误是如何产生的 正如我们已经讨论过的,这个错误主要发生在客户端程序无法连接到服务器
Python 中错误 TypeError: Must Be Real Number, Not STR
发布时间:2023/05/16 浏览次数:152 分类:Python
-
TypeError: must be real number, not str 错误涉及使用错误的类型和非实数,在本例中为 str 类型。使用 float() 或 int() 解决Python 中 TypeError: must be real number, not str
Python 错误 TypeError: Iteration Over Non-Sequence
发布时间:2023/05/16 浏览次数:67 分类:Python
-
当您尝试迭代不可迭代的对象时,会出现错误 TypeError: iteration over non-sequence 。 现在您已经了解了 TypeError 的原因,让我们在 Python 中重新创建非序列错误的迭代。
Python 错误 Modulenotfounderror: No Module Named NumPy
发布时间:2023/05/16 浏览次数:162 分类:Python
-
本篇文章讨论 ModuleNotFoundError: No module named 'numpy',列出可能的原因并提供解决方案。重现 No module named 'numpy' Python 支持数以千计的模块
Python 中管理 Segmentation Fault
发布时间:2023/05/16 浏览次数:173 分类:Python
-
使用 settrace 管理 Python 中的分段错误 segmentation fault 分段错误(Segmentation Fault)的一些最大原因是非法内存位置(使用您的代码访问您无权访问的内存)、获取庞大的数据集、无限递归等。
Python 中 Fatal Error: PyThreadState_Get: No Current Thread 错误
发布时间:2023/05/16 浏览次数:106 分类:Python
-
是什么导致 PyThreadState_Get: no current thread 错误。其中一个问题是 PyThreadState_Get:没有当前线程,在本文中,我们将讨论导致它的原因以及如何在本地 Mac/Linux PC 上解决它。
修复 windows 中 Python错误 Command cl.exe Failed: No Such File or Directory
发布时间:2023/05/16 浏览次数:124 分类:Python
-
pip 是 Python 的一个工具,允许您安装和管理包。 修复 Windows 中 command 'cl.exe' failed:No such file or directory 错误