Inicializacion socket tcp para servidor

Inicializacion socket tcp para servidor

de Felipe Fava Abo -
Número de respuestas: 3
Buenas! Al querer crear un socket tcp para un cierto servidor, esta bien ponerle como IP 'localhost'?
Es decir, algo asi: 

server_socket = Socket.tcp()
server_socket:bind('localhost', 80)


// esperar por conexiones de clientes

Espero se entienda la pregunta. Ya aprovecho a preguntar tambien, si pseudocodigo de este estilo esta bien, o esperan que sea de un lenguaje especifico y una implementacion "real". Gracias!

En respuesta a Felipe Fava Abo

Re: Inicializacion socket tcp para servidor

de Jorge Visca -

Eso es perfectamente válido, con la salvedad de que ese servidor solo podrá ser accedido desde clientes corriendo en el mismo host. La razón es que la red de localhost 127.0.0.0/8 no se enruta, y por eso no puede ser accedida desde afuera.

Si eso es lo que querés lograr, está perfecto. Si tu servidor se supone que lo van a usar otros hosts, está mal.


En respuesta a Jorge Visca

Re: Inicializacion socket tcp para servidor

de Felipe Fava Abo -

Hola Jorge, gracias por la respuesta!

Buenísimo, entendido, o sea si quiero que pueda ser accedido desde afuera entonces debería ponerle la IP de la maquina cierto?

Y respecto al pseudocódigo de ese estilo, esta bien? Porque vi muchos exámenes donde lo hacen así, pero también muchos otros donde lo hacen en C con código y funciones reales. 


 

En respuesta a Felipe Fava Abo

Re: Inicializacion socket tcp para servidor

de Jorge Visca -

Si, si se quiere que sea accesible tiene que estar bindeada a una una interfaz con una dirección accesible. Esto puede ser una interfaz en particular, indicando su IP, o usando '*' para bindear en todas las interfaces disponibles.

Pseudocódigo está bien, mientras se entienda qué es lo que estas haciendo. Lo que sí hay que respetar es la API. Esto es un cambio que se introdujo por primera vez el año pasado, por lo que las soluciones anteriores pueden no ser aplicables.