Hola tengo el programa cliente
import java.io.*;
import java.net.*;
class Cliente {
static final String HOST = "localhost";
static final int PUERTO=5000;
public Cliente( ) {
try{
Socket skCliente = new Socket( HOST , Puerto );
InputStream aux = skCliente.getInputStream();
DataInputStream flujo = new DataInputStream( aux );
System.out.println( flujo.readUTF() );
skCliente.close();
} catch( Exception e ) {
System.out.println( e.getMessage() );
}
}
public static void main( String[] arg ) {
new Cliente();
}
}
Y tengo el programa servidor
import java.io.* ;
import java.net.* ;
class Servidor {
static final int PUERTO=5000;
public Servidor( ) {
try {
ServerSocket skServidor = new ServerSocket(PUERTO);
System.out.println("Escucho el puerto " + PUERTO );
for ( int numCli = 0; numCli < 3; numCli++; ) {
Socket skCliente = skServidor.accept(); // Crea objeto
System.out.println("Sirvo al cliente " + numCli);
OutputStream aux = skCliente.getOutputStream();
DataOutputStream flujo= new DataOutputStream( aux );
flujo.writeUTF( "Hola cliente " + numCli );
skCliente.close();
}
System.out.println("Demasiados clientes por hoy");
} catch( Exception e ) {
System.out.println( e.getMessage() );
}
}
public static void main( String[] arg ) {
new Servidor();
}
}
Quisiera que me explicaran linea por linea lo que hace el codigo, para comprender mejor el tema sobre los socket gracias de antemano.
· Los códigos deben ir en etiquetas GeSHi
· Los temas van en su respuesctivo subforo, esto es sobre programación, especificamente java (movido)
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
Cliente:
Socket skCliente = new Socket( HOST , Puerto );
https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#Socket(java.net.InetAddress,%20int) (https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#Socket(java.net.InetAddress,%20int))
InputStream aux = skCliente.getInputStream();
https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#getInputStream() (https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#getInputStream())
DataInputStream flujo = new DataInputStream( aux )
https://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html#DataInputStream(java.io.InputStream) (https://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html#DataInputStream(java.io.InputStream))
System.out.println( flujo.readUTF() );
https://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html#readUTF() (https://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html#readUTF())
https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#out (https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#out)
https://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html#println-java.lang.String- (https://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html#println-java.lang.String-)
skCliente.close();
https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#close() (https://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#close())
Saludos!