gpt4 book ai didi

python - OSError [Errno 99] - python

转载 作者:行者123 更新时间:2023-12-05 05:26:48 27 4
gpt4 key购买 nike

我想执行以下简单的服务器代码:

import socket

s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 22331 # Reserve a port
s.bind((host, port)) # Bind to the port

s.listen(5) # Now wait for client connection.
while True:
c, addr = s.accept() # Establish connection with client.
print('Got connection from', addr)
c.send('Thank you for connecting')
c.close()

执行时出现如下错误:

OSError: [Errno 99] Cannot assign requested address

为什么OS无法绑定(bind)指定端口到地址?

最佳答案

如果它使用 ip 地址但不使用主机名可以工作。

你的 /etc/hosts 中应该有这样的东西,将 ip 映射到主机名。

127.0.0.1   localhost
127.0.1.1 your_hostname_here

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

您的 /etc/hostname 显然应该与上面相同。

重新启动,您应该能够成功 ping 通您的主机名。

您还可以使用 socket.gethostbyname(socket.gethostname()) 获取 ip 而不是主机名

关于python - OSError [Errno 99] - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23843165/

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