【问题标题】:Why do I get Permision Denied?为什么我的权限被拒绝?
【发布时间】:2016-05-27 14:25:03
【问题描述】:
from ipaddress import *
from socket import *
x = str(IPv4Address('125.67.8.0'))
s = socket()
s.bind((x,456))

Traceback(最近一次调用最后一次):

  File "<stdin>", line 1, in <module>
  OSError: [Errno 99] Cannot assign requested address

即使调用了ipaddress构造函数构造了一个新的ip地址,为什么还是不能绑定呢?我在超级用户模式下运行程序,我的方法有什么问题?

【问题讨论】:

  • 地址125.67.8.0 在您运行它的机器上吗?您是否以特权用户身份运行以使用低于 1024 的端口?
  • 除此之外,只是我的一个好奇心,你为什么要对你刚刚从字符串中创建的对象进行字符串化?

标签: python sockets networking


【解决方案1】:

当您使用绑定命令时,IP 的参数是一个字符串,所以一个简单的s.bind(('125.67.8.0', 456)) 就可以了。您不必将 IP 作为字符串,并对其执行操作以将其转回字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 2019-10-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多