Learn Go Programming Home Exercises
Network applications use sockets. Sockets is the raw network layer (TCP/UDP). Data is often
transmitted using protocols, but sockets let you define your own protocols.
This example uses golang to setup a socket server.
Socket server golang
introduction
To use sockets, load the net module, with the line import "net" . Then the steps are
sequentially to listen on a network port, to accept an incoming connections and then to process
incoming data in a loop.
...
// listen on port 8000
ln, _ := net.Listen("tcp", ":8000")
// accept connection
conn, _ := ln.Accept()
// run loop forever (or until ctrl-c)
for {
// process data
}
socket server example
The example below opens a socket server on port 8000 of your local computer. If you name the
program server.go , you can start it with go run server.go .
You can connect to the server with telnet, telnet 127.0.0.1 8000 or from another
computer in your local network. Then send any message, the server will receive them.
(make sure your firewall isn’t blocking).
// Very basic socket server
// https://golangr.com/
package main
import "net"
import "fmt"
import "bufio"
func main() {
fmt.Println("Start server...")
// listen on port 8000
ln, _ := net.Listen("tcp", ":8000")
// accept connection
conn, _ := ln.Accept()
// run loop forever (or until ctrl-c)
for {
// get message, output
message, _ := bufio.NewReader(conn).ReadString('\n')
fmt.Print("Message Received:", string(message))
}
}
Cookie policy - Privacy policy - Terms of use
© 2021 golangr.com