【问题标题】:Why the connect failed for ipv6 at python?为什么在 python 上连接 ipv6 失败?
【发布时间】:2010-10-09 03:23:16
【问题描述】:

为什么 ipv6 连接失败??

   # python
    >>> import socket
    >>> s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
    >>> sa = ('2000::1',2000,0,0)
    >>> s.connect(sa)            
    >>> sa = ('fe80::21b:78ff:fe30:7c6', 2000, 0, 0)  
    >>> s.connect(sa)
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
      File "<string>", line 1, in connect
    socket.error: (22, 'Invalid argument')

【问题讨论】:

    标签: python sockets ipv6 connect


    【解决方案1】:

    链接本地地址(例如 fe80::whatever)通常需要指定范围 ID 才能工作。试试

    sa = ('fe80::21b:78ff:fe30:7c6%en0', 2000, 0, 0)  
    

    相反。 (如果您尝试 connect() 的计算机可以通过 en0 以外的网络接口访问,请替换为 en0 现在所在的接口名称)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-26
    • 2019-04-09
    • 2021-01-28
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    相关资源
    最近更新 更多