Why the connect failed for ipv6 at python?
Question: Why the connect failed for 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')
    


Answer: Link-local addresses (e.g. fe80::whatever) typically require a scope id to be
specified in order to work. Try

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

instead. (If the computer you're trying to connect() to is accessible via a
network interface other than en0, substitute in the name of the interface
where en0 is now)

