Golang net.IPConn.Close(), Read() and ReadFrom() functions example

package net

Golang net.IPConn.Close(), Read() and ReadFrom() functions usage example.

 func handleConnection(c net.Conn) {

  log.Printf("Client(TLS) %v connected via secure channel.", c.RemoteAddr())

  // stuff to do... like read data from client, process it, write back to client
  // see what you can do with (c net.Conn) at
  // http://golang.org/pkg/net/#Conn

  buffer := make([]byte, 4096)

  for {
 n, err := c.Read(buffer)
 if err != nil || n == 0 {
 c.Close()
 break
 }

 // n, addr, err := c.ReadFrom(buffer)
 // fmt.Println(addr.String())
 // if err != nil || n == 0 {
 //  c.Close()
 //  break
 // }

 n, err = c.Write(buffer[0:n])
 if err != nil {
 c.Close()
 break
 }
  }
  log.Printf("Connection from %v closed.", c.RemoteAddr())
 }

See also : https://www.socketloop.com/tutorials/golang-secure-tls-connection-between-server-and-client

References :

https://www.socketloop.com/tutorials/golang-secure-tls-connection-between-server-and-client

http://golang.org/pkg/net/#IPConn.Read

http://golang.org/pkg/net/#IPConn.Close

http://golang.org/pkg/net/#IPConn.ReadFrom

Advertisement