http - whatwg - ¿Por qué el puerto es una cadena y no un entero?
whatwg español (2)
El método
Port
devuelve una cadena y no un entero.
¿Cuál es la razón de eso y es seguro prefijar el puerto con ":"?
Esto se debe a que lo que aparece después de los dos puntos puede ser un número de puerto o un nombre de servicio.
El siguiente es un ejemplo válido donde se usa el nombre del servicio en lugar de un número de puerto:
listener, err := net.Listen("tcp", "localhost:https") // port 443
// ...
La asignación de puertos para un servicio en particular se puede buscar usando
net.LookupPort
.
En los sistemas Unix, el
/etc/services
se obtiene de las asignaciones.
Para un número, el valor predeterminado es 0: si una función
func (u * URL) Port () string
el número de retorno en lugar de picar el puerto será 0
El puerto 0 es un puerto reservado en las redes TCP / IP, lo que significa que no debe usarse en mensajes TCP o UDP. Sin embargo, el puerto 0 tiene un significado especial en la programación de red, particularmente en la programación de socket Unix: para solicitar puertos dinámicos asignados por el sistema.
es necesario programar en varias funciones