Senior
Tell us about your skills in working with network technologies.
sobes.tech AI
Answer from AI
In working with network technologies in Go, I use the standard library net and net/http to create TCP/UDP clients and servers, as well as to work with the HTTP protocol. I can configure connections, manage timeouts, handle network errors, and implement protocols over TCP/UDP.
Example of a simple TCP server in Go:
package main
import (
"fmt"
"net"
)
func main() {
ln, err := net.Listen("tcp", ":8080")
if err != nil {
panic(err)
}
defer ln.Close()
for {
conn, err := ln.Accept()
if err != nil {
fmt.Println("Connection error:", err)
continue
}
go func(c net.Conn) {
defer c.Close()
buf := make([]byte, 1024)
n, err := c.Read(buf)
if err == nil {
fmt.Println("Received:", string(buf[:n]))
c.Write([]byte("Hello from the server!"))
}
}(conn)
}
}
I am also familiar with concepts such as NAT, VPN, DNS, HTTP/2, TLS, and I know how to use tools for monitoring and debugging network connections.