Go esencial

Creación de un servidor web básico

¡Prueba gratis durante 10 días

nuestros 1272 cursos !

Prueba gratis Mostrar modalidades de suscripción
Cerramos el curso creando un micro servidor utilizando las capacidades de soporte http de Go para abrir un puerto del ordenador y servir datos desde el navegador. Te daré un buen punto de partida para comprender cómo trabaja un servidor Go y te muestro algunas opciones más sofisticadas para crear tu propio servidor.
07:09

Transcripción

En esta lección vamos a aprender cómo utilizar "Go" para convertirlo en un servidor web. Estoy trabajando dentro de una aplicación llamada "servidor.go" y lo que voy a hacer es abrir un puerto de mi ordenador y voy a escuchar toda la información que llegue a partir de ese puerto y voy a devolver, en este caso, un texto cuando el usuario entre a través del navegador. Eso lo vamos a hacer relativamente sencillo utilizando "go". Vamos a entrar en la función en este caso estoy trabajando dentro del "package.main" con la función "main". Esto signifca que el código que se encuentra acá se va a ejecutar de manera automática. Así que vamos a llamar un par de librerías de "go" específicamente vamos a utilizar una llamada "http" que es la que me permite hacer conexiones y en general trabajar todo lo que se relaciona con la tecnología web. Utilizando "http" voy a llamar específicamente un comando llamado "HandleFunc". Esto me va permitir trabajar un comando donde voy a controlar una ruta. La ruta va a ser la "ruta de inicio" cuando eso suceda voy a invocar una función. Vamos a poner la función "saludo" básicamente mi aplicación lo que va a hacer es que cada vez que alguien entre a mi servidor dentro de esta ruta va a invocar esta función. El siguiente paso también es que vamos a abrir el servidor y vamos a escuchar específicamente a un puerto. Así que vamos a llamar otra vez a "http" y en este caso voy a utilizar el método "ListenAndServe" que va a escuchar un puerto. En este caso vamos a definirlo dentro del puerto 8000 pero puede ser un puerto que se encuentre disponible dentro de tu ordenador. Recuerda que en caso de que el puerto esté ocupado por alguna otra aplicación es posible que te dé algún problema, en caso de que te diera algún problema simplemente tienes que cambiar el número del puerto y eso es todo. Vamos a utilizar igual este puerto 8000 y en este caso no vamos a devolver ningún tipo de parámetro. Para manejar cualquier error simplemente vamos a servir el puerto 8000. Nuestra aplicación, en teoría, ya está escuchando la información que entra desde el puerto 8000. En el caso de que entremos a la ruta raíz vamos a ejecutar una función llamada "saludo" la cual vamos a tener que desarrollar en este momento. Vamos a poner "func" vamos a definir esta función como "saludo" donde vamos a enviar un saludo pero en esta función vamos a recibir alguna información que nos esté llegando desde "http". Vamos a trabajar con esta información y, en este caso, vamos a trabajar con objeto y vamos a definirlo como de tipo "http.ResponseWriter" el cual nos va a permitir escribir una respuesta al usuario y también vamos a tener un segundo argumento que va a ser en este caso "petición" que va a ser un enlace con "http.Request" que es la petición que está haciendo el usuario. En este caso estoy enlazando directamente el objeto "http" con la información que llega en "saludo" y por eso estoy utilizando la sintaxis de asterisco. Una vez que ya está esto listo vamos a entrar a nuestra aplicación y ya estamos recibiendo la información tanto de la petición del usuario como también enviar información. Ahora que ya podemos enviar información vamos a utilizar una librería llamada "io" Vamos a accederla específicamente al método "io.WriteString" y ya lo tenemos definido, autocompletado el código y en el momento en que lo llamamos se importa la librería correspondiente. Vamos a definir que dentro de "WriteString" vamos a relacionarnos con "ResponseWriter" que es uno de los argumentos que nos está llegando en este caso ponemos "w" y vamos a poder escribir dentro de nuestro servidor y lo que vamos a escribir va a ser, en este caso "Hola Mundo" y esta es la información que vamos a enviarle al servidor. Eso es todo. Tenemos un servidor listo y podemos ejecutarlo vamos a arrancarlo dentro de nuestra aplicación. Simplemente llamamos "go run servidor.go" y el momento en que lo llamo muy posiblemente si estás trabajando en Windows te va a aparecer este mensaje. Este mensaje va a decir que una aplicación está tratando de abrir un puerto y está tratando de usarlo lo cual es completamente cierto porque "go" está haciendo eso y eso es lo que le hemos dicho que realice en este momento. Windows no lo sabe así que le tenemos que permitir el acceso. Ya está funcionando nuestro servidor vamos a entrar al navegador. Estoy trabajando desde el puerto 8000 tenemos un "Hola Mundo". Podemos cambiar en cualquier momento esta información y de hecho quiero que veas cómo funciona. En este caso tenemos una tarea que permanece ejecutando constantemente y permanece abierto este proceso. Ahora para detener el servidor presionamos la tecla "Ctrl +C" esto detiene el proceso en el que estamos trabajando. Voy a cambiar, por ejemplo, este "Hola Mundo" voy a poner un texto nada más "PRUEBA". Voy a guardar. Vamos a volver a ejecutar nuestro servidor. Volvemos otra vez a darle permisos. Revisamos el resultado y tenemos la información que acabo de cambiar. Un detalle, si bien es cierto trabajar un servidor dentro de "go" puede ser bastante interesante y podemos hacer muchas cosas como por ejemplo, una vez que estamos escuchando puertos trabajar con variables, generar archivos modificar información dentro de nuestro ordenador puede ser bastante complicado en el momento en que comenzamos a pensar que esto es un punto de entrada donde pueden realizar "hacks" donde vamos a tener que realizar una gran cantidad de tareas. Te recomiendo que si te interesa el concepto de un servidor utilizando "go" utilices esta librería. Es un poyecto muy interesante que se llama "Hugo" que es un servidor hecho específicamente en "go" y del cual puedes comenzar a trabajar a partir de un punto común donde otras personas ya han realizado un proyecto bastante importante y que sigue avanzando a partir de una comunidad. Así que te recomiendo que utilices este servidor en vez de trabajarlo de cero. Puedes encontrarlo en "http://gohugo.io/"

Go esencial

Aprende los elementos esenciales de Go, el lenguaje de código abierto con un rendimiento similar a C, lo que lo ha hecho muy popular para la creación de aplciaciones web.

2:45 horas (29 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:16/03/2017

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.