FACULTAD DE CIENCIAS DE LA COMPUTACION
 
 
 

Sockets

La clase socket
La programaci�n de sockets proporciona un mecanismo de muy bajo nivel para la comunicaci�n e intercambio de datos entre dos ordenadores, uno considerado como cliente, que es el que inicia la conexi�n con el otro, servidor, que est� a la espera de conexiones de clientes.
El protocolo de comunicaci�n entre ambos, determinar� lo que suceda tras el establecimiento de la conexi�n. Para que las dos m�quinas puedan entenderse, ambas deben implementar un protocolo conocido por la dos. En la programaci�n de sockets, la comunicaci�n es full-duplex, en ambos sentidos a la vez, entre cliente y servidor; siendo responsabilidad del sistema el llevar los datos de una m�quina a otra, dejando al programador el proporcionar significado a esos datos. Parte de la informaci�n que fluye entre las dos m�quina es, pues, para implementar el protocolo, y el resto son los propios datos que se quieren transferir.
Es muy sencilla la utilizaci�n de sockets para establecer la comunicaci�n entre cliente y servidor; en realidad, no es m�s complicada que lo que pueda serlo el escribir datos en un fichero. Enviar y recoger los datos que se intercambian es la parte f�cil del asunto; porque m�s all� de esto ya se encuentra el protocolo de comunicaci�n que debe ser entendido por cliente y servidor, que en caso de ser necesario implementarlo, se convierte ya en algo mucho m�s complicado

Los flujos de datos DataImputStream y DataOutputStream

La clase DataInputStream es �til para leer datos del tipo primitivo de una forma portable. Esta clase tiene un s�lo constructor que toma un objeto de la clase InputStream o sus derivadas como par�metro.
Se crea un objeto de la clase DataInputStream vincul�ndolo a un un objeto FileInputStream para leer desde un archivo en disco denominado pedido.txt..

FileInputStream fileIn=new FileInputStream("pedido.txt");
DataInputStream entrada=new DataInputStream(fileIn));

o en una sola l�nea

DataInputStream entrada=new DataInputStream(new FileInputStream("pedido.txt"));

La clase DataInputStream define diversos m�todos readXXX que son variaciones del m�todo read de la clase base para leer datos de tipo primitivo
boolean readBoolean();
byte readByte();
int readUnsignedByte();
short readShort();
int readUnsignedShort();
char readChar();
int readInt();
String readLine();
long readLong();
float readFloat();
double readDouble();

La clase DataOutputStream es �til para escribir datos del tipo primitivo de una forma portable. Esta clase tiene un s�lo constructor que toma un objeto de la clase OutputStream o sus derivadas como par�metro.
Se crea un objeto de la clase DataOutputStream vincul�ndolo a un un objeto FileOutputStream para escribir en un archivo en disco denominado pedido.txt..

FileOutputStream fileOut=new FileOutputStream("pedido.txt");
DataOutputStream salida=new DataOutputStream(fileOut));

o en una sola l�nea

DataOutputStream salida=new DataOutputStream(new FileOutputStream("pedido.txt"));

La clase DataOutputStream define diversos m�todos writeXXX que son variaciones del m�todo write de la clase base para escribir datos de tipo primitivo
void writeBoolean(boolean v);
void writeByte(int v);
void writeBytes(String s);
void writeShort(int v);
void writeChars(String s);
void writeChar(int v);
void writeInt(int v);
void writeLong(long v);
void writeFloat(float v);
void writeDouble(double v);

La clase ServerSocket
La clase ServerSocket es una clase incluida en java.net que sirve para atender peticiones de conexiones, lo cual es �til a la hora de crear un servidor. En un servidor hay un bucle infinito donde se llama al m�todo accept de la clase ServerSocket quedando a la espera de aceptar una conexi�n. Cuando esta conexi�n se produce esta clase devuelve un objeto de tipo socket que es el que utiliza el servidor para comunicarse con el cliente, de este socket podemos conseguir una corriente de entrada y otra de salida. 


 




 
     

 

 

 

 

     
Hosted by www.Geocities.ws

1