diff --git a/app.go b/app.go index 06a33cd..d38c9d2 100644 --- a/app.go +++ b/app.go @@ -1,5 +1,7 @@ package main +// drawn from https://stackoverflow.com/questions/2886719/unix-sockets-in-go + import ( "log" "net" diff --git a/client.go b/client.go new file mode 100644 index 0000000..4a340b5 --- /dev/null +++ b/client.go @@ -0,0 +1,39 @@ +// +build ignore + +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 + } + println("Client got:", string(buf[0:n])) + } +} + +func main() { + c, err := net.Dial("unix", "/tmp/echo.sock") + if err != nil { + panic(err) + } + defer c.Close() + + go reader(c) + for { + _, err := c.Write([]byte("hi")) + if err != nil { + log.Fatal("write error:", err) + break + } + time.Sleep(1e9) + } +}