diff options
author | Mathias Magnusson <mathias@magnusson.space> | 2024-02-28 18:00:30 +0100 |
---|---|---|
committer | Mathias Magnusson <mathias@magnusson.space> | 2024-02-28 18:00:30 +0100 |
commit | 4e8ac826929117f95baeb37e1518773d1169d900 (patch) | |
tree | 8d83639b336ece6422e9f3391655db12f30d6013 /protohackers/0-smoke-test/main.go | |
parent | d4fcb8a4a815ce8c888c3e06330e9cff71e3c312 (diff) | |
download | programming-problem-solving-4e8ac826929117f95baeb37e1518773d1169d900.tar.gz |
Random uncommited stuff
Diffstat (limited to 'protohackers/0-smoke-test/main.go')
-rw-r--r-- | protohackers/0-smoke-test/main.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/protohackers/0-smoke-test/main.go b/protohackers/0-smoke-test/main.go new file mode 100644 index 0000000..213d111 --- /dev/null +++ b/protohackers/0-smoke-test/main.go @@ -0,0 +1,42 @@ +package main + +import ( + "io" + "log" + "net" +) + +func main() { + listener, err := net.Listen("tcp", "0.0.0.0:7000") + if err != nil { + panic(err) + } + + for { + go handle(listener.Accept()) + } +} + +func handle(conn net.Conn, err error) { + if err != nil { + log.Println(err) + return + } + defer conn.Close() + + var buf [1024]byte + for { + n, readErr := conn.Read(buf[:]) + log.Println("writing ", string(buf[:n])) + _, writeErr := conn.Write(buf[:n]) + if writeErr != nil { + log.Println("error when writing", err) + } + if readErr != nil { + if readErr != io.EOF { + log.Println("error when reading", err) + } + return + } + } +} |