Exemple #1
0
        public void SockaddrIn6Test()
        {
            if (!Socket.OSSupportsIPv6)
            {
                Assert.Ignore("OS does not support IPv6.");
            }

            var address1 = new SockaddrIn6 {
                sin6_family   = UnixAddressFamily.AF_INET6,
                sin6_port     = Syscall.htons(1234),
                sin6_flowinfo = 2,
                sin6_addr     = NativeConvert.ToIn6Addr(IPAddress.IPv6Loopback),
                sin6_scope_id = 3
            };

            var storage  = address1.ToSockaddrStorage();
            var address2 = SockaddrIn6.FromSockaddrStorage(storage);

            Assert.AreEqual(address1, address2);

            var sockaddr = Sockaddr.FromSockaddrStorage(storage);

            Assert.AreEqual(sockaddr.sa_family, address1.sa_family);

            Assert.AreEqual("{sin6_family=AF_INET6, sin6_port=htons(1234), sin6_flowinfo=2, sin6_addr=::1, sin6_scope_id=3}", address1.ToString());
        }