package main import ( "io" "log" "net" "time" ) func reader(r io.Reader) { buf := make([]byte, 1024) for { n, err := r.Read(buf) if err != nil { return } log.Println("<", string(buf[:n])) } } func connectClient(addr *net.UnixAddr) { unixSock, err := net.DialUnix("unix", nil, addr) if err != nil { log.Panic(err) } defer unixSock.Close() go reader(unixSock) for { _, err := unixSock.Write([]byte("hi")) if err != nil { log.Fatalln("Write error:", err) } time.Sleep(10 * time.Second) } }