Sockets java

Solo disponible en BuenasTareas
  • Páginas : 5 (1134 palabras )
  • Descarga(s) : 10
  • Publicado : 6 de julio de 2010
Leer documento completo
Vista previa del texto
UNIVERSIDAD AUTONOMA METROPOLITANA CIENCIAS BASICAS E INGENIERIA

SISTEMAS DISTRIBUIDOS

“COMUNICACION A TRAVES DE SOCKETS”

PROF. ARMANDO JIMENEZ FLORES JORGE MEDRANO HERRERA DIANA RUELAS CAMACHO INGENIERIA EN COMPUTACION

Un socket es un fichero existente en la máquina cliente y en la máquina servidora,  que   sirve   en   última   instancia   para   que   el   programa   servidor  y   el   cliente   lean   y  escriban la información. Esta información será la transmitida por las diferentes capas  de red. Para que dos programas puedan comunicarse entre sí es necesario que se cumplan  ciertos requisitos: • Que un programa sea capaz de localizar al otro.  • Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos, es decir, datos relevantes a su finalidad.  Para ello son necesarios los tres recursos que originan el concepto de socket: • Un protocolo de comunicaciones, que permite el intercambio de octetos.  • Una   dirección   del   Protocolo   de   Red   (Dirección   IP,   si   se   utiliza   el   Protocolo  TCP/IP), que identifica una computadora.  • Un   número   de   puerto,   que   identifica   a   un   programa   dentro   de   una computadora.  Los sockets permiten implementar una arquitectura cliente­servidor. La comunicación  ha de ser iniciada por uno de los programas que se denomina programa cliente. El  segundo   programa  espera  a  que  otro   inicie  la  comunicación,  por este motivo   se  denomina programa servidor. Las propiedades de un socket dependen de las características del protocolo en el  que   se  implementan.   El   protocolo   más   utilizado   es   Transmission   Control   Protocol,  aunque también es posible utilizar UDP o IPX. Gracias al protocolo TCP, los sockets tienen las siguientes propiedades: • Orientado a conexión.  • Se garantiza la transmisión de todos los octetos sin errores ni omisiones.  • Se garantiza que todo octeto llegará a su destino en el mismo orden en que se ha transmitido.  Estas   propiedades   son   muy   importantes   para   garantizar   la   corrección   de   los  programas que tratan la información. El protocolo UDP es un protocolo no orientado a la conexión. Sólo se garantiza que si  un mensaje llega, llegue bien. En ningún caso se garantiza que llegue o que lleguen  todos los mensajes en el mismo orden que se mandaron. Esto lo hace adecuado para el envío de mensajes frecuentes pero no demasiado importantes, como por  ejemplo, mensajes para los refrescos de un gráfico.

SERVIDOR
 1 package servidor;  2 import java.io.*;  3 import java.net.*;  4 public class Main {  5     static final int PUERTO=5000;  6     public Main(){  7         try{  8             ServerSocket skServidor = new ServerSocket(PUERTO); 9             System.out.println("Escucho el puerto "+PUERTO); 10             int numCli=0; 11             while (numCli++!=3){ 12                 Socket skCliente=skServidor.accept(); 13                 System.out.println("Sirvo al cliente "+ numCli); 14                 OutputStream aux= skCliente.getOutputStream(); 15                 DataOutputStream flujo=new DataOutputStream(aux); 16                 flujo.writeUTF("Hola cliente "+numCli);17                 skCliente.close(); 18             } 19             System.out.println("Demasiados clientes por hoy, adios"); 20         } catch (Exception e){ 21             System.out.println(e.getMessage()); 22         } 23     } 24  25     public static void main(String[] args) { 26         new Main(); 27     } 28 } 1: Es el paquete al cual pertenece nuestra clase Main2: Se importan las librerías de java para entrada y salida 3: Se importan las librerías de java para internet 4: Se declara la clase publica Main 5: Se declara una variable de tipo int final llamada PUERTO con valor de 5000 6: Se declara un método constructor 7: Se intenta ejecutar código con un try 8: Se crea un objeto de la clase ServerSocket que sirve para esperar las conexiones...
tracking img