Junior — Middle
¿En qué casos y con qué fines se utilizan los sockets en programación?
sobes.tech AI
Respuesta de la IA
Los sockets en programación se utilizan para organizar la interacción en red entre procesos, que pueden estar en la misma computadora o en diferentes. En Go, los sockets se usan para crear aplicaciones cliente-servidor, intercambiar datos mediante los protocolos TCP o UDP.
Casos principales de uso:
- Implementación de servidores y clientes de red (por ejemplo, servidor web, chat, juegos).
- Intercambio de datos entre sistemas distribuidos.
- Creación de protocolos propios sobre TCP/UDP.
Ejemplo de creación de un servidor TCP en 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("Error de conexión:", err)
continue
}
go handleConnection(conn)
}
}
func handleConnection(conn net.Conn) {
defer conn.Close()
buf := make([]byte, 1024)
n, err := conn.Read(buf)
if err != nil {
fmt.Println("Error de lectura:", err)
return
}
fmt.Println("Recibido:", string(buf[:n]))
conn.Write([]byte("¡Hola desde el servidor!"))
}