func TestConnUnicastSocketOptions(t *testing.T) { switch runtime.GOOS { case "nacl", "plan9", "solaris": t.Skipf("not supported on %q", runtime.GOOS) } ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback) if ifi == nil { t.Skipf("not available on %q", runtime.GOOS) } ln, err := net.Listen("tcp4", "127.0.0.1:0") if err != nil { t.Fatalf("net.Listen failed: %v", err) } defer ln.Close() done := make(chan bool) go acceptor(t, ln, done) c, err := net.Dial("tcp4", ln.Addr().String()) if err != nil { t.Fatalf("net.Dial failed: %v", err) } defer c.Close() testUnicastSocketOptions(t, ipv4.NewConn(c)) <-done }
func ExampleUnicastTCPListener() { ln, err := net.Listen("tcp4", "0.0.0.0:1024") if err != nil { log.Fatal(err) } defer ln.Close() for { c, err := ln.Accept() if err != nil { log.Fatal(err) } go func(c net.Conn) { defer c.Close() err := ipv4.NewConn(c).SetTOS(iana.DiffServAF11) if err != nil { log.Fatal(err) } _, err = c.Write([]byte("HELLO-R-U-THERE-ACK")) if err != nil { log.Fatal(err) } }(c) } }