24.6 Interacción entre cliente/servidor mediante conexiones de socket de fl ujo 

1013

El método 

conectarAlServidor

(líneas 82 a 92) crea un objeto 

Socket

llamado

cliente

(línea 87) para 

establecer una conexión. Este método pasa dos argumentos al constructor de 

Socket

: la dirección IP del equipo 

servidor y el número de puerto (12345) en donde la aplicación servidor está esperando las conexiones de los 
clientes. En el primer argumento, el método 

static

getByName

 de 

InetAddress

 devuelve un objeto 

Inet-

Address

 que contiene la dirección IP especifi cada como argumento en la línea de comandos para la aplicación 

(o

127.0.0.1

 si no se especifi can argumentos en la línea de comandos). El método 

getByName

 puede recibir una 

cadena que contiene la dirección IP actual, o el nombre de host del servidor. El primer argumento también podría 
haberse escrito de otras formas. Para la dirección 127.0.0.1 de localhost, el primer argumento podría especifi carse 
mediante una de las siguientes expresiones:

InetAddress.getByName(

"localhost"

 )

InetAddress.

getLocalHost

()

 1 

// Fig. 24.8: PruebaCliente.java

2

// Prueba la clase Cliente.

3

import

 javax.swing.JFrame;

 4 
 5 

public class

 PruebaCliente 

 6 

{

 7  

public static void

 main( String args[] )

 8  

{

 9   

Cliente aplicacion; 

// declara la aplicación cliente

10

 11  

 

// si no hay argumentos de línea de comandos

12   

if

 ( args.length == 0 )

 

13    

aplicacion = 

new

 Cliente( 

"127.0.0.1"

 ); 

// se conecta a localhost

14   

else

 

15    

aplicacion = 

new

 Cliente( args[ 

0

 ] ); 

// usa args para conectarse

16

 17  

 

aplicacion.setDefaultCloseOperation(

JFrame.EXIT_ON_CLOSE

 );

 18  

 

aplicacion.ejecutarCliente();

 // ejecuta la aplicación cliente

19

}

 // fin de main

20

}

 // fin de la clase PruebaCliente

Figura 24.8

  |  Clase que prueba a 

Cliente

.

 180 

 

 

 

{

 181 

 

 

 

      

public void

 run() 

// establece la propiedad de edición de campoIntroducir

182 

 

 

 

      

{

 183 

 

 

 

             

campoIntroducir.setEditable( editable );

 184 

 

 

 

      

}

// fin del método run

185    

}

// fin de la clase interna anónima

186   

);

// fin de la llamada a SwingUtilities.invokeLater

187

}

// fin del método establecerCampoEditable

188

}

// fin de la clase Cliente

Figura 24.7  |

  Porción correspondiente al cliente, de una conexión de sockets de fl ujo entre un cliente y un servidor. 

(Parte 5 de 5).

24_MAQ_CAP_24_Deiltel.indd1013

4/19/081:34:55AM