9
COMUNICACIÓN APLICACIÓN – SERVIDOR. Cliente/Servidor es una frase que se usa para describir un modelo de interacción entre dos procesos, que se ejecutan de forma simultánea. Este modelo es una comunicación basada en una serie de preguntas y respuestas, que asegura que si dos aplicaciones intentan comunicarse, una comienza la ejecución y espera indefinidamente que la otra le responda y luego continua con el proceso. Cliente: aplicación que inicia la comunicación, es dirigida por el usuario. Servidor: es quien responde a los requerimientos de los clientes, son procesos que se están ejecutando indefinidamente. Presentación de Wit API de voz Los comandos de voz son el futuro. Ciencia-ficción que ha tenido durante décadas y, sin embargo, aún nos queda alcanzar para el control remoto para encender el televisor o establecer una alarma. Nuestra misión es cambiar esto. Adición de una interfaz de voz a una aplicación o dispositivo debe ser simple. Pasando la voz en datos procesables

wap

Embed Size (px)

DESCRIPTION

libre

Citation preview

COMUNICACIN APLICACIN SERVIDOR.Cliente/Servidores una frase que se usa para describir un modelo de interaccin entre dos procesos, que se ejecutan de forma simultnea. Este modelo es una comunicacin basada en una serie de preguntas y respuestas, que asegura que si dos aplicaciones intentan comunicarse, una comienza la ejecucin y espera indefinidamente que la otra le responda y luego continua con el proceso. Cliente: aplicacin que inicia la comunicacin, es dirigida por el usuario. Servidor: es quien responde a los requerimientos de los clientes, son procesos que se estn ejecutando indefinidamente.

Presentacin de Wit API de voz

Los comandos de voz son el futuro.Ciencia-ficcin que ha tenido durante dcadas y, sin embargo, an nos queda alcanzar para el control remoto para encender el televisor o establecer una alarma.Nuestra misin es cambiar esto.Adicin de una interfaz de voz a una aplicacin o dispositivo debe ser simple.Pasando la voz en datos procesablesHoy en da, estamos muy contentos de anunciar nuestra nueva"Discurso a JSON" API, cuatro meses despus del lanzamiento de la "Texto para JSON" API.

A partir de ahora, su aplicacin, dispositivo o incluso su sitio web puede transmitir audio a nuestro servidor, y obtener datos procesables a cambio.Cmo funciona?Detrs de la escena, Wit combina varias tcnicas de estado-of-the-art de Procesamiento del Lenguaje Natural y varios motores de reconocimiento de voz con el fin de lograr una baja latencia y alta solidez a ambas variedades de ruido y parafrsticas circundantes (hay millones de maneras de decir lo mismo ).Afortunadamente, usted no tiene que preocuparse por toda esta maquinaria.Nos centramos toda nuestra energa en crear la experiencia del desarrollador simple posible.Usted puede estar en funcionamiento en pocos minutos utilizandonuestro sitio web.Wit se adaptar a su dominio a travs del tiempo, desde la distribucin de helados para las misiones espaciales.Wit no hace suposiciones y sigue siendo 100% configurable.El consumo de la APIEntonces, llamando a la API es simple.Proporcionamos SDK de cliente que manejan la grabacin de audio y streaming paraiOS,Androidoincluso una pgina web sencilla como sta.Tambin puede utilizar lainterfaz HTTPpara transmitir audio en vivo o publicar un archivo de sonido:

Cul es WebSocket?WebSocket es un protocolo que permite la comunicacin entre el cliente y el servidor / punto final mediante una nica conexin TCP.Suena un poco como http no lo hace?El WebSocket ventaja tiene sobre HTTP es que el protocolo es full-duplex (permite para uso simultneo de dos vas communcation) y es cabecera es mucho menor que la de una cabecera HTTP, permitiendo communcation ms eficiente incluso en pequeos paquetes de datos.El ciclo de vida de un WebSocket es fcil de entender, as:1. El cliente enva una solicitud apretn de manos en forma de una cabecera HTTP de actualizacin con datos sobre la WebSocket que est intentando conectarse al servidor.2. El servidor responde a la solicitud con otra cabecera HTTP, esta es la ltima vez que una cabecera HTTP se utiliza en la conexin WebSocket.Si el apretn de manos fue un xito, que el servidor enva una cabecera HTTP decirle al cliente que est cambiando al protocolo WebSocket.3. Ahora una conexin constante se abre y el cliente y el servidor puede enviar cualquier nmero de mensajes entre s hasta que la conexin est cerrada.Estos mensajes slo tienen alrededor de 2 bytes de sobrecarga.Un ejemplo sencilloEl API WebSocket se introdujo con Java EE7, en este ejemplo crearemos un cliente que enviar un mensaje al servidor y el servidor que luego lo devolver.Para este ejemplo voy a estar utilizando elNetBeans 7.4y el servidor Glassfish 4, que viene incluido con NetBeans.Configuracin del proyectoAbra el Asistente para nuevo proyecto, elija Java Web y seleccione Aplicacin Web.Seleccione siguiente, el nombre de su proyecto y elija es guardar la ubicacin y pulse siguiente.

Asegrese de que su servidor elegido es el nombre de su servidor GlassFish y que la versin de Java EE que est trabajando es de 7 y pulse Finalizar.

Su proyecto ahora debe ser generada.Ahora, vamos a construir el servidor de punto final que se encargar de mensajes WebSocket entrantes.En su proyecto de ir a "Paquetes Fuente" y crear una nueva clase Java.El punto final de servidor es un Objeto Plain Old Java (POJO), que utiliza las anotaciones de Java para definir que es mtodos (Esto se puede hacer mediante programacin, pero se ve mucho ms limpio mediante anotacin).Este es el cdigo para el punto final:importacin java.io.IOException ;import javax.websocket.OnClose ; import javax.websocket.OnMessage ; import javax.websocket.OnOpen ; import javax.websocket.Session ; import javax.websocket.server.ServerEndpoint ;/ ** *ServerEndpoint Da el nombre relativa para el punto final * Esto se accede a travs de ws: // localhost: 8080 / EchoChamber / echo * Donde "localhost" es la direccin del host, * "EchoChamber" es el nombre del paquete * Y "eco" es la direccin directa de este tipo desde el servidor * / ServerEndpoint ( "/ echo" ) pblica clase EchoServer { / ** *OnOpen Nos permite interceptar la creacin de una nueva sesin. * La clase de sesin nos permite enviar los datos al usuario. * En el mtodo onOpen, se lo haremos saber al usuario que el apretn de manos fue * xito. * / OnOpen pblico vaco onOpen ( Session session ) { System . cabo . println ( sesin. getId ( ) + "ha abierto una conexin" ) ; intentar { sesin. getBasicRemote ( ) . SendText ( "Conexin establecida" ) ; } catch ( IOException ex ) { . ex printStackTrace ( ) ; } } / ** * Cuando un usuario enva un mensaje al servidor, este mtodo interceptar el mensaje * Y que nos permitan reaccionar a ella. Por ahora el mensaje es ledo como una cadena. * / OnMessage pblico vaco onMessage ( Cadena mensaje, sesin Sesin ) { System . cabo . println ( "Mensaje" + sesin. getId ( ) + ": " + message ) ; try { session. getBasicRemote ( ) . sendText ( message ) ; } catch ( IOException ex ) { ex. printStackTrace ( ) ; } } / ** * El usuario cierra la conexin. * * Nota: no puede enviar mensajes al cliente de este mtodo * / OnClose pblico vaco onClose ( Session session ) { System . cabo . println ( "Session" + sesin. getId ( ) + "ha terminado" ) ; } }

Y el cdigo para el cliente, que entra en el index.html.En la vista del proyecto vaya a las pginas Web y abierto index.html esto debe ser algo de HTML genrico.Me va a utilizar HTML / Javascript para controlar el lado del cliente.Hay un estndarAPI para WebSocketsen JavaScript y estapoyada por la mayora de los navegadores modernos.En index.html reemplace el cdigo con lo siguiente:Edit: Como se ha sealado en los comentarios, la conexin no definido parece ser unerror en algunos navegadores.Todo lo que queda por hacer ahora es ejecutar el servidor.En NetBeans clic derecho en el directorio del proyecto y seleccione Ejecutar, esta se iniciar Glassfish y desplegar la aplicacin en el servidor.Su navegador predeterminado ahora debe abrir una nueva pgina en la que puede empezar a utilizar el cliente anterior.Para abrir la prensa conexin abierta, escriba algo en el cuadro de texto y pulse enviar.Cuando su prensa realizada el botn de cierre.Su cliente debe ser algo como esto:

Y para demostrar que no es slo humo y espejos, aqu est la salida desde el servidor, la cadena hexadecimal que se muestra es el ID del cliente:

Y ah lo tienen, cmo crear una aplicacin sencilla Echo usando sockets web en Java EE7.En mi prximo artculo, voy a utilizar WebSockets para transportar la informacin ms importante, las imgenes de nuestras mascotas.Tienes algn comentario o pregunta?Dejarlos a continuacin.Este post es parte de nuestra"Artculos GlassFish ndice"serie.En estos artculos, nuestro objetivo es explorar GlassFish de diferentes maneras, desde tutoriales tiles, a JaveOne y general.

Web grafia http://nereida.deioc.ull.es/~cleon/doctorado/tic02/cs.htmlhttps://wit.ai/blog/2014/02/12/speech-apihttps://blog.idrsolutions.com/2013/12/websockets-an-introduction/