From cee9fedf2a6bb0cecf639c3ab0805b034c9ea057 Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Fri, 18 May 2018 09:55:00 -0400 Subject: [PATCH] listen on a socket --- app.go | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/app.go b/app.go index dbfcbc8..06a33cd 100644 --- a/app.go +++ b/app.go @@ -1,7 +1,39 @@ package main -import "fmt" +import ( + "log" + "net" +) func main() { - fmt.Println(socketPath) + l, err := net.Listen("unix", socketPath) + if err != nil { + log.Fatal("listen error:", err) + } + + for { + fd, err := l.Accept() + if err != nil { + log.Fatal("accept error:", err) + } + + go echoServer(fd) + } +} + +func echoServer(c net.Conn) { + for { + buf := make([]byte, 512) + nr, err := c.Read(buf) + if err != nil { + return + } + + data := buf[0:nr] + println("Server got:", string(data)) + _, err = c.Write(data) + if err != nil { + log.Fatal("Write: ", err) + } + } }