INSTITUTO TECNOLÓGICO DE CANCÚN         INGENIERÍA MECATRÓNICA                MATERIA:          PROGRAMACIÓN BÁSICA       ...
USO DE APIS EN JAVAMÉTODO LENGTH DE LA CLASE STRING DEL API DE JAVA. EJEMPLODE USO DE MÉTODOS PARA EVITAR ERRORES.Vamos a ...
El código podría ser el siguiente/* Ejemplo - aprenderaprogramar.com */// Definición de una clase de ejemplo con uso del m...
String CombinadoSiempre = ""; //Cadena vacía, variable local     if (valor_texto1.length() < 3) {     //Si hay menos de 3 ...
DE PUERTO (JAVA COM)CONCEPTOS FUNDAMENTALES DE INTERRUPCIONES Y PUERTOS.CONCEPTO DE INTERRUPCIÓN: Ya que un procesador no ...
Si este thread es bloqueado en un selector, entonces el estado del thread deintrrupt será fijado, y retornara inmediatamen...
un bit de parada para señalar que el byte esta completo. También envía un bitde paridad.   Terminales eléctricas del puert...
A cada puerto la BIOS le asigna una dirección de memoria para que puedatrabajar, dependiendo de que clase de puerto sea se...
Enseguida la CPU determina qué elemento ha solicitado la interrupción y paracada caso existe un bloque de instrucciones qu...
Cuando se escriben programas Java que se comunican a través de la red, seestá programando en la capa de aplicación. Típica...
Servicio orientado a conexión: Donde disponemos de un stream que nosasegura la entrega de la información de forma ordenada...
leer=_new Buffered Reader( new Input Stream Reader(socketRecepcion.getInputStream() ) ); _while_ (“#”.compareTo(s=leer.rea...
{text:bookmark-start} Puertos y Servicios Cada servicio está asociado a un puerto. Un puerto es una dirección numéricaa tr...
proporcionado y procesado en unas condiciones temporales estrictas. Porejemplo cuando se reproduce un video, si los datos ...
FUENTES DE DATOS MULTIMEDIAEn Java Media Framework los datos multimedia pueden proceder de diversasfuentes, como archivos ...
Uso de apis en java
Upcoming SlideShare
Loading in …5
×

Uso de apis en java

436 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
436
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Uso de apis en java

  1. 1. INSTITUTO TECNOLÓGICO DE CANCÚN INGENIERÍA MECATRÓNICA MATERIA: PROGRAMACIÓN BÁSICA INVESTIGACIÓN: USO DE APIS EN JAVA DE PUERTO (JAVA COM) MULTIMEDIA (JAVA FRAMEWORKS) SOCKET () PROFESORA: MARÍA JACINTA MARTÍNEZ CASTILLO AUTORES: ALEJANDRO FIGUEROA ANDRÉS ALFONSO CUA MAY JOEL DE LA CRUZ MARTINEZ SOLIS ITZELCANCÚN QUINTANA ROO A 18 DE JUNIO DEL 2012
  2. 2. USO DE APIS EN JAVAMÉTODO LENGTH DE LA CLASE STRING DEL API DE JAVA. EJEMPLODE USO DE MÉTODOS PARA EVITAR ERRORES.Vamos a usar el método length de la clase String para tratar de evitar que nossalten errores al emplear el método substring. Lo primero que haremos seráconsultar la documentación de la clase, la signatura del método, y, si esnecesario, su detalle. La signatura del método es: length() int Devuelve el número de caracteres del String. El tipo devuelto por el método es int (un entero) y el método no requiereparámetros para ser ejecutado. El método no está sobrecargado, ya que hayuna única manera de invocarlo. Un ejemplo de invocación puede serNumCaracteres = micadena.length();. Recordar que siempre que invoquemosun método hemos de incluir los paréntesis, independientemente de que seanecesario pasar parámetros o no. Valiéndonos de este método, intenta escribir tu propio código para hacer losiguiente:a) Reescribir la clase Combinador que usamos anteriormente de forma queel método combinacion devuelva “No aporta cadenas válidas” si se le pasacomo parámetro alguna cadena que contenga menos de tres caracteres.b) Escribir un nuevo método de la clase, al que podemos denominarcombinadoSiempre que en caso de que se pasen cadenas con menos de trescaracteres, las combine de todas formas en base a los caracteres disponibles,sea el número que sea. 1
  3. 3. El código podría ser el siguiente/* Ejemplo - aprenderaprogramar.com */// Definición de una clase de ejemplo con uso del método length sobre objetos Stringaprenderaprogramar.com// Combina las tres primeras letras de dos textos introducidos por el usuario en unasola cadena separada por un espaciopublic class Combinador { private String texto1; private String texto2; public Combinador () { texto1 = ""; texto2 = ""; }//Método que combina las tres primeras letras de cada cadena String Combinacion (String valor_texto1, String valor_texto2) { if (valor_texto1.length() >= 3 && valor_texto2.length() >= 3) { //Comprobación String combinacion = valor_texto1.substring (0, 3) + " " +valor_texto2.substring (0 ,3); return combinacion; } else { return "No aporta cadenas válidas"; } } //Cierre del método//Método que combina las cadenas aunque contengan menos de 3 caracteres (nuevométodo) String CombinadoSiempre (String valor_texto1, String valor_texto2) { int longitud_texto1 = 3; //Si podemos extraeremos tres caracteres int longitud_texto2 = 3; 2
  4. 4. String CombinadoSiempre = ""; //Cadena vacía, variable local if (valor_texto1.length() < 3) { //Si hay menos de 3 caracteres extraemos losque haya longitud_texto1 = valor_texto1.length(); } if (valor_texto2.length() < 3) { longitud_texto2 = valor_texto2.length(); }CombinadoSiempre = valor_texto1.substring (0,longitud_texto1)+" "+valor_texto2.substring (0, longitud_texto2);return CombinadoSiempre; } //Cierre del método} //Cierre de la clase Recuerda que los espacios cuentan. No es lo mismo una cadena de longitud cero o cadena vacía, representada por dos comillas sin espacio entre ellas, que una cadena que contenga un espacio, representada por dos cadenas que contengan un espacio entre ellas, cuya longitud o número de caracteres es 1. 3
  5. 5. DE PUERTO (JAVA COM)CONCEPTOS FUNDAMENTALES DE INTERRUPCIONES Y PUERTOS.CONCEPTO DE INTERRUPCIÓN: Ya que un procesador no puede procesar simultáneamente varios trozos deinformación (procesa un trozo de información por vez), un programa que estásiendo ejecutado puede, gracias al pedido de interrupción, sermomentáneamente suspendido mientras se produce una interrupción. El programa interrumpido puede continuar ejecutándose luego. Existen 256direcciones de interrupción diferentes. Una interrupción se convierte en una interrupción de hardware cuando essolicitada por uno de los componentes de hardware del equipo. En efecto,existen varios periféricos en un equipo. Estos periféricos necesitangeneralmente utilizar los recursos del sistema aunque sólo sea paracomunicarse con el sistema mismo. Cuando un periférico desea acceder a un recurso, envía un pedido deinterrupción al procesador para llamar su atención. Los periféricos cuentan conun número de interrupción que se denomina IRQ (Peticiones de Interrupción.Es como si cada periférico tirara de un “hilo” que está atado a una campanapara señalarle al equipo que desea que le preste atención. Este “hilo” es, de hecho, una línea física que conecta cada ranura deexpansión así como cada interfaz E/S a la placa madre. Para una ranura ISAde 8 bits, por ejemplo, hay 8 líneas IRQ que unen ranuras ISA de 8 bits a laplaca madre (IRQ0 a IRQ7). Estos IRQ están controlados por un “controladorde interrupción” que se encarga de “cederle la palabra” al IRQ que posee lamayor prioridad.{text:bookmark-start} {text:bookmark-end}Los *métodos interrupt* que se manejan en Java. Son 3 Interrupt() Interrupted() isInterrupted() Interrupciones Sintaxis Primero el método checkAccess de este thread es invocado, lo cual puedecausar una Security Exception. 4
  6. 6. Si este thread es bloqueado en un selector, entonces el estado del thread deintrrupt será fijado, y retornara inmediatamente de la operación de selección,posiblemente con un valor diferente a cero, justo como si el método del selectorwakeup hubiera sido invocado. Si ninguna de las condiciones pasadas se cumple, entonces el estado eninterrupt del thread será fijado (activado).Interrupted (interrumpido)Sintaxis Public static boolean interrupted () Hace una prueba si el thread actual a sido interrumpido. El estado deinterrupción del thread es deshecho por este método. En otras palabras, si estemétodo se llamara dos veces, la segunda vez devolvería un valor falso (almenos que el thread actual sea interrumpido de nuevo, después de que laprimera llamada haya terminado su interrupción y antes de que la segundaempiece).Returns: Verdadero si el thread actual a sido interrumpido, falso de lo contrarioPUERTO SERIAL Y SUS VARIANTES{draw:frame} Puerto serial, puerto COM, puerto de comunicaciones y puertoRS-232(“Recomended Standard-232”), hacen referencia al mismo puerto.Es un conector que permite la transmisión de datos entre un dispositivoexterno (periférico), con la computadora; por ello es denominado puerto. Todos los sistemas operativos de los ordenadores que están en uso hoy endía, soportan los puertos serie, ya que han estado en funcionamiento durantedécadas. Los puertos paralelos son una invención más reciente y son muchomás rápidos que los puertos serie. Los puertos USB solo tienen unos pocosaños de antigüedad, y con el tiempo seguramente reemplazaran a los puertosserie y paralelo en los próximos años. El nombre de serie viene por el hecho de que un puerto serie serializa losdatos. Esto significa que coge un byte de datos y trasmite los 8 bits quecontiene el byte uno a la vez. La ventaja es que los puertos serie solo necesitanun hilo para transmitir los 8 bits, mientras que los paralelo necesitan 8. Ladesventaja es que lleva 8 veces más de tiempo que si tuviera 8 hilos. Lospuertos serie bajan el coste de los cables y hacen que sean mas pequeños. Antes de cada byte de datos, los puertos serie envían un bit de comienzo, elcual es un único bit con un valor de 0. Después de cada byte de datos, envía 5
  7. 7. un bit de parada para señalar que el byte esta completo. También envía un bitde paridad. Terminales eléctricas del puerto serial. El puerto serial cuenta con 9contactos tipo pin, se muestran las líneas eléctricas y su descripción básica. Variantes físicas del puerto serial. Los puertos serie, también llamadospuertos de comunicación (COM), son bidireccionales. La comunicaciónbidireccional permite a cada dispositivo recibir datos a la vez que los transmite.Los dispositivos serie usan pines diferentes para el recibir y enviar datos, usarlos mismos pines significaría que la comunicación estaría limitada a half-duplex,y que la información viajaría en una sola dirección a la vez. Usar pinesdiferentes permite una comunicación full-dúplex, y puede viajar en ambossentidos.PUERTO PARALELO Y SUS VARIANTES Definición: Un puerto es el lugar donde el CPU se comunica con otrosdispositivos, existen de varios tipos, hay puertos de entrada, de salida y ambos.Además estos pueden ser seriales o paralelos. Puertos de salida: Son todos aquellos por donde el CPU envía datos a otrosdispositivos, por ejemplo están la salida de video y de sonido. Nosotros vamos a hablar acerca de los puertos que se encuentran fuera delgabinete, hablaremos de los puertos de teclado, mouse, impresoras, etc. Lacomputadora por si misma no sería capaz de realizar operaciones útiles paranosotros si no podemos comunicarnos con ella, necesita dispositivos periféricospor donde pueda darnos mensajes y nosotros podamos enviarle órdenes. Ahora bien, existen infinidad de dispositivos que sirven de extensión a lacomputadora, muchos son para fines muy específicos y no se pueden abarcar,entre los dispositivos que son de uso común se encuentra la impresora, elteclado, el mouse y el monitor. Puerto serial: El puerto serial es aquel que envía y recibe los datos BIT porBIT, entre los puertos seriales se puede mencionar el puerto de teclado, o elpuerto del MODEM. Puerto paralelo: Este tipo de puerto transmite la información byte por byte, osea que transmite ocho bits al mismo tiempo, de forma paralela. Un puertoparalelo por excelencia pues es el puerto para impresoraSe puede observar que un puerto de entrada puede ser paralelo o serial, lomismo que un puerto de entrada o de entrada / salida. 6
  8. 8. A cada puerto la BIOS le asigna una dirección de memoria para que puedatrabajar, dependiendo de que clase de puerto sea se le asigna un determinadoespacio exclusivo para él. Por medio de estas localidades de memoria elsistema puede enviarles o recibir información, es una especie de memoria deintercambio para la transmisión de dados de un lugar a otro. A esto se le llamaespacio de localidades de memoria y se realiza dentro del primer kilo bite de lamemoria principal. Existen otras asignaciones de memoria en otras capassuperiores de memoria pero estas son hechas por el sistema operativo y porlos demás programas, pero estas asignaciones son para fines específicos delos demás programas. Los puertos no solo se limitan a recibir la información, o enviarla, según sea elcaso. El puerto provee la corriente eléctrica necesaria para el funcionamientodel dispositivo y revisa el estado de este.INTERRUPCIONES QUE INTERVIENEN EN CADA PUNTO Una interrupción es un mecanismo que permite ejecutar un bloque deinstrucciones interrumpiendo la ejecución de un programa, y luego restablecerla ejecución del mismo sin afectarlodirectamente. De este modo un programapuede ser interrumpido temporalmente para atender alguna necesidad urgentedel computador y luego continuar su ejecución como si nada hubiera pasado. Generalmente se aplica para realizar tareas elementales asincrónicas en elcomputador tales como responder al teclado, escribir en la pantalla, leer yescribir archivos. Podemos considerar una tarea asincrónica como aquella quees solicitada sin previo aviso y aleatoriamente desde el punto de vista delcomputador. Tomemos el caso de la operación Ctrl-Alt-Supr. En Windows tieneel efecto de que aparece en pantalla una lista de los procesos y ventanas enejecución en el computador. En cambio en el Sistema Operativo DOS cuandoel usuario presiona simultáneamente dichas teclas el computador procede areinicializarse, aunque pueda estar ocupado ejecutando un programa en eseinstante. Vale decir fuerza obligadamente a que el computador se reinicialice.Ya sea en el sistema Windows o en DOS, el computador no estáconstantemente monitoreando el teclado para ver si el usuario ha solicitado unCtrl-Alt-Del, ya que en ese caso consumiría mucho tiempo de proceso en ello ypor ende la capacidad de proceso se vería significativamente afectada. Lasolución empleada es una interrupción. Luego cada vez que el usuario presiona una tecla, la CPU es advertida através de una señal especial de interrupción. Cuando la CPU advierte/recibeuna señal de interrupción suspende temporalmente el proceso actualalmacenando en memoria RAMun bloque con toda la información necesariapara restablecer posteriormente la ejecución del programa si es que procede. 7
  9. 9. Enseguida la CPU determina qué elemento ha solicitado la interrupción y paracada caso existe un bloque de instrucciones que realiza la tareacorrespondiente que es ejecutada a continuación. Terminada la ejecución serestablece el programa original en el mismo punto en que fue interrumpidousando para ello la información almacenada previamente. Cada interrupción tiene asignada un número único. El PC está diseñado demanera que la interrupción tiene asignada 4 bytes de memoria RAM. Ladirección de los cuatro bytes en la memoria corresponde al _número de la_interrupción multiplicado por 4. Por ejemplo la interrupción IRQ 5 tieneasignada 4 bytes en la dirección 0x00014 (0000:0014). El contenido de los 4bytes de memoria RAM asignados a una interrupción contiene a su vez unadirección que es un puntero a un bloque de instrucciones de máquina querealiza el procedimiento correspondiente. De este modo al iniciar la ejecuciónde una interrupción de los cuatro bytes que tiene asignados se obtiene ladirección del bloque de instrucciones que efectivamente se ejecutan. Porejemplo si en la dirección 0000:0014 estuviera almacenado el valor 0xFFF00,ello significa que en dicha dirección (ó (F000:FF00) se encuentra el bloque deinstrucciones a ejecutar cuando la interrupción IRQ 5 sea requerida. Esta forma de direccionamiento indirectopara las interrupciones brinda laflexibilidad necesaria para perfeccionar, modificar y extender el código deinstrucciones correspondiente permitiendo mantener por ejemplo lacompatibilidad de las distintas versiones de BIOS con las aplicaciones yequipos que usan las interrupciones.Tipos de interrupcionesExisten tres tipos de interrupciones:a) requeridas por hardwareUna lista de las interrupciones generadas por hardware es la siguienteb) requerida por software para interactuar con periféricos Los vectores de las interrupciones BIOS están ubicados a partir del vector0x10H, vale decir inmediatamente a continuación de los vectores 0 a15 que songenerados por hardware y que no son enmascarables. Cabe hacer notar que laarquitectura del PC está definida de tal manera que el primer Kilobyte delespacio de memoria está reservado para vectores de interrupciones, vale decirhay espacio para 256 interrupciones.Las interrupciones BIOS más importantes son las siguientesENVIÓ Y RECEPCIÓN DE DATOS 8
  10. 10. Cuando se escriben programas Java que se comunican a través de la red, seestá programando en la capa de aplicación. Típicamente, no se necesitatrabajar con las capas TCP y UDP — en su lugar se puede utilizar las clasesdel paquete java.net. Estas clases proporcionan comunicación de redindependiente del sistema. A través de las clases del paquete java.net, los programas Java puede utilizanTCP o UDP para comunicarse a través de Internet. Las clases URL, URLConnection, Socket, y Socket Server? Utilizan el TCP para comunicarse através de la Red. Las clases ? Y Datagram Server? Utilizan UDP. TCP proporciona un canal de comunicación fiable punto a punto, lo que utilizanpara comunicarse las aplicaciones cliente-servidor en Internet. Las clasesSocket y Server Socket del paquete java.net proporcionan un canal decomunicación independiente del sistema utilizando TCP, cada una de lascuales implementa el lado del cliente y el servidor respectivamente. La clase Socket del paquete java.net es una implementación independiente dela plataforma de un cliente para un enlace de comunicación de dos vías entreun cliente y un servidor. La clase Socket se sitúa en la parte superior de unaimplementación dependiente de la plataforma, ocultando los detalles de lossistemas particulares a un programa Java. Utilizando la clase java.net.Socketen lugar de tratar con código nativo, los programas Java pueden comunicarse através de la red de una forma independiente de la plataforma. El entorno de desarrollo de Java incluye un paquete, java.io, que contiene unjuego de canales de entrada y salida que los programas pueden utilizar paraleer y escribir datos. Las clases Input Stream y Output Stream del paquetejava.io son superclases abstractas que definen el comportamiento de loscanales de I/O secuenciales de Java. java.io también incluye muchas subclasesde Input Stream y Output Stream que implementan tipos específicos de canalesde I/O.BÁSICAMENTE DISPONEMOS DE DOS TIPOS DE SERVICIO: Servicio sin conexión, donde el emisor y el receptor intercambian paquetes deinformación sin establecer una conexión previa, donde tampoco disponemos deun control de secuencia ni control de errores. En este tipo de conexiónoperamos con Datagramas y el protocolo empleado es UDP. 9
  11. 11. Servicio orientado a conexión: Donde disponemos de un stream que nosasegura la entrega de la información de forma ordenada y fiable. Operamoscon streams y el protocolo empleado es TCPJAVA NOS DA SOPORTE PARA: getAddress() getAllByName(string) getByName(String) getHostAddress()getHostName() getLocalHost() hashCode() isMulticastAddress() toString()Envío y recepción de datos a través de sockets: El servidor crea un Socket, mediante Server Socket, le asigna una dirección yun puerto y acepta llamadas (accept). A partir de este momento el procesoqueda bloqueado a la espera de una llamada. Cuando llega una llamada, elaccept crea un nuevo socket para procesar dicha llamada. Es únicamente enese momento cuando existe la conexión y durará hasta que se libere medianteclose(). Los sockets tienen asociados un Stream de entrada y otro de salida a travésde los cuales se leen y escriben los datos: Para enviar datos se puede utilizar el Output Stream del socket, para enviar unflujo de bytes sin buffer. Pero también se puede crear un objeto de tipo streamde datos basado en el Output Stream._Socket socket = new Socket (“158.42.112.67″, 1056); __String linea; _teclado_ = new Buffered Reader(new _Input Stream Reader?_(System.in)); _escribir_ = new Print Writer(socket.getOutputStream(),true); _do_ { _linea_=teclado.readLine(); _escribir.println_(linea); __} while (linea.compareTo(“#”)!=0); _….Para recibir datos se puede utilizar Input Stream o definir un nuevo objeto delmismo tipo más eficiente.Ejemplo:Buffered Reader leer;String s; 10
  12. 12. leer=_new Buffered Reader( new Input Stream Reader(socketRecepcion.getInputStream() ) ); _while_ (“#”.compareTo(s=leer.readLine()!=0) { _System.out.println_(nombre+”: “+s); _} THREADS: En el programa se pueden implementar varios hilos de ejcución othreads. Podemos crear un servidor concurrente que ejecute el mismo códigopara cada cliente. Para ello podemos implementar un servidor para un solocliente y dedicar un thread por cliente.Implementando una nueva clase derivada de la clase Thread.Creando una nueva clase que implemente el interface Runnable.Import java.io.*;Import java.net.*;Class _Servidor Eco Tcp__ extends Thread { _Socket s=null;?_(Socket s) {this.s=s;} __Public void run() { __Try { Input Stream is=s.getInputStream(); _Output Stream _os=s.getOutputStream(); _While(_true) os.write(is.read()); _} catch (IO Exception_ e) {__System.out.println(“Error en socket”);}} __Public static void main(String agrs[]) throws IO Exception , _Unknown HostException?_ { __Server Socket ss=new Server Socket(7); _While(true) {_e.start(); _ } } } Existe otro tipo de socket, RAW SOCKET que no opera en el nivel detransporte y accede directamente al nivel de red. Este tipo de socket suele serutilizado por aplicaciones con privilegios para la definición de protocolos de bajonivel. 11
  13. 13. {text:bookmark-start} Puertos y Servicios Cada servicio está asociado a un puerto. Un puerto es una dirección numéricaa través de la cual se procesa el servicio. Sobre un sistema Unix, los serviciosque proporciona ese sistema se indican en el fichero /etc/services, y algunosejemplos son: La primera columna indica el nombre del servicio. La segunda columna indicael puerto y el protocolo que está asociado al servicio. La tercera columna es unalias del servicio; por ejemplo, el servicio smtp, también conocido como mail, esla implementación del servicio de correo electrónico. Las comunicaciones de información relacionada con Web tienen lugar a travésdel puerto 80 mediante protocolo TCP. Para emular esto en Java, usaremos laclase Socket. La fecha (daytime). Sin embargo, el servicio que coge la fecha yla hora del sistema, está ligado al puerto 13 utilizando el protocolo UDP. Unservidor que lo emule en Java usaría un objeto MULTIMEDIA (JAVA FRAMEWORKS)APLICACIONES MULTIMEDIAUna aplicación multimedia es aquella que produce, reproduce, procesa omaneja uno o varios contenidos multimedia. A su vez un contenido multimediaes aquel que está compuesto de diversos “medios”, como pueden ser audio,video, texto, etc. Decimos que un contenido multimedia está basado en eltiempo en tanto que cada uno de sus medios cambia significativamente con él.Esta característica hace que un contenido multimedia requiera ser 12
  14. 14. proporcionado y procesado en unas condiciones temporales estrictas. Porejemplo cuando se reproduce un video, si los datos multimedia no pueden serproporcionados lo suficientemente rápido pueden producirse pausas y retardosen la reproducción; por otro lado si los datos no pueden ser recibidos yprocesados lo suficientemente rápido el video se reproduce a saltos en tantoque se desechan cuadros como medio para mantener la tasa de reproducción.Cada uno de los medios de los que se compone un contenido multimedia sedenomina pista. Por ejemplo un contenido multimedia correspondiente a unavideoconferencia puede contener una pista de audio y otra de video. Se diceque las pistas que componen un contenido multimedia están multiplexadas, alproceso de extracción de las distintas pistas que componen un contenidomultimedia se le denomina demultiplexación. Existen distintos tipos de pistas enfunción del tipo de datos que contienen, como audio y/o video; a su vez cadapista posee un formato que define como están estructurados los datos queforman parte de ella. Los distintos formatos se distinguen en función de:• La calidad que proporcionan• Su exigencia de recursos de CPU para ser procesados• La cantidad de ancho de banda requerida para su transmisión Tabla 1 - Formatos multimedia soportados por JMF y sus característicasFormato Calidad Uso CPU Ancho de bandaCinepak Media Bajo AltoMPEG 1 Alta Alto AltoH.261 Baja Medio MedioH.263 Media Medio BajoJPEG Alta Alto AltoIndeo Media Medio MedioPCM Alta Bajo AltoMu-Law Baja Bajo AltoADPCM (DVI, IMA) Media Medio MedioMPEG 1 Alta Alto AltoMPEG 1 Layer 3 Alta Alto MedioGSM Baja Bajo BajoG.723.1 Media Medio BajoCada formato está destinado a diferentes tipos de aplicaciones y servicios.Formatos como MPEG 1 de gran calidad pero altos requerimientos de ancho debanda están destinados usualmente a aplicaciones que trabajan conalmacenamiento local o en dispositivos ópticos como CD-ROM o DVD donde elancho de banda y la capacidad de almacenamiento no son limitantes. Encambio otros formatos como H.261 y H.263 se usan para aplicaciones devideoconferencia donde el ancho de banda es un bien muy escaso; de lamisma forma G.723 se usa para producir voz codificada con tasa de bitsreducida para aplicaciones de telefonía IP por ejemplo. 13
  15. 15. FUENTES DE DATOS MULTIMEDIAEn Java Media Framework los datos multimedia pueden proceder de diversasfuentes, como archivos locales o remotos y video y audio en tiempo real o bajodemanda.Una fuente de datos multimedia se modela mediante un objeto DataSource.Podemos crear una DataSource directamente a través de una URL (UniversalResource Locator) o bien mediante un objeto de tipo MediaLocator. SOCKET ()DEFINICIÓN DE SOCKETUn socket (enchufe), es un método para la comunicación entre un programa delcliente y un programa del servidor en una red. Un socket se define como elpunto final en una conexión. Los sockets se crean y se utilizan con un sistemade peticiones o de llamadas de función a veces llamados interfaz deprogramación de aplicación de sockets (API, application programminginterface).Un socket es también una dirección de Internet, combinando una dirección IP(la dirección numérica única de cuatro partes que identifica a un ordenadorparticular en Internet) y un número de puerto (el número que identifica unaaplicación de Internet particular, como FTP, Gopher, o WWW). 14

×