golang-exercises/sockets/main.go

42 lines
670 B
Go

package main
import (
"bufio"
"fmt"
"net"
"os"
"strings"
)
func main() {
ln, err := net.Listen("tcp", ":1302")
catchErr(err)
fmt.Printf("Listening on port 1302...\n")
for {
conn, err := ln.Accept()
catchErr(err)
go handleConn(conn)
}
}
func handleConn(conn net.Conn) {
defer conn.Close()
message, err := bufio.NewReader(conn).ReadString('\n')
catchErr(err)
fmt.Printf("Message received: %v", string(message))
newMsg := strings.ToUpper(message)
conn.Write([]byte(newMsg + "\n"))
}
func catchErr(err error) (errHappened bool) {
errHappened = false
if err != nil {
errHappened = true
fmt.Println(err)
os.Exit(2)
}
return errHappened
}