github.com/DARA-Project/GoDist-Scheduler@v0.0.0-20201030134746-668de4acea0d/examples/ServerClient/server/server.go (about) 1 package main 2 3 import "net" 4 import "log" 5 import "bufio" 6 import "fmt" 7 8 func main() { 9 10 fmt.Println("[SampleServer]Launching server...") 11 12 // listen on all interfaces 13 ln, err := net.Listen("tcp", ":18081") 14 if err != nil { 15 log.Fatal(err) 16 } 17 defer ln.Close() 18 fmt.Println("[SampleServer]Listening now...") 19 // accept connection on port 20 conn, err := ln.Accept() 21 if err != nil { 22 log.Fatal(err) 23 } 24 fmt.Println("[SampleServer]Accepted connection") 25 // will listen for message to process ending in newline (\n) 26 message, err := bufio.NewReader(conn).ReadString('\n') 27 if err != nil { 28 log.Fatal(err) 29 } 30 fmt.Println("[SampleServer]Received Message from client") 31 // output message received 32 // sample process for string received 33 // send new string back to client 34 _, err = conn.Write([]byte(message + "\n")) 35 if err != nil { 36 log.Fatal(err) 37 } 38 fmt.Println("[SampleServer]Wrote reply to client", message) 39 }