In this recipe, we are going to update the main() method to call a handleRequest method passing the connection object to read and print data on the server console. Perform the following steps:
Create tcp-server-read-data.go and copy the following content:
package main import ( "bufio" "fmt" "log" "net" ) const ( CONN_HOST = "localhost" CONN_PORT = "8080" CONN_TYPE = "tcp" ) func main() { listener, err := net.Listen(CONN_TYPE, CONN_HOST+":"+CONN_PORT) if err != nil { log.Fatal("Error starting tcp server : ", err) } defer listener.Close() log.Println("Listening on " + CONN_HOST + ":" + CONN_PORT) for { conn, err := listener.Accept() if err != nil { log.Fatal("Error accepting: ", err.Error()) } go handleRequest(conn) } } func handleRequest(conn net.Conn) { message, err := bufio.NewReader(conn).ReadString('\n') if err != nil { fmt.Println("Error reading:", err.Error()) } fmt.Print("Message Received from the client: ", string(message)) conn.Close() }