Fueron popularizados por Berckley Software Distribution, de la universidad norteamericana de Berkley. Los sockets han de ser capaces de utilizar el protocolo de streams TCP (Transfer Contro Protocol) y el de datagramas UDP (User Datagram Protocol).
Utilizan una serie de primitivas para establecer el punto de comunicación, para conectarse a una máquina remota en un determinado puerto que esté disponible, para escuchar en él, para leer o escribir y publicar información en él, y finalmente para desconectarse.
Aquí dejo el código, para crear un socket utilizando Java. Es de notarse, la existencia de cuatro clases. La cliente, la servidor, el Core y la principal.
import java.io.ObjectInputStream;
import java.net.Socket;
public class Cliente {
private Socket s;
private ObjectInputStream ois;
public Cliente() {
try{
s = new Socket("localhost", 9998);
ois = new ObjectInputStream(s.getInputStream());
System.out.println((String)ois.readObject());
ois.close();
s.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Servidor {
private ServerSocket ss;
private Socket s;
private ObjectOutputStream oos;
public Servidor() {
try{
ss = new ServerSocket(9998);
s = ss.accept();
oos = new ObjectOutputStream(s.getOutputStream());
oos.writeObject("Bienvenido cliente !");
oos.close();
s.close();
ss.close();
} catch(Exception ex) {
ex.printStackTrace();
}
}
}
import java.util.Scanner;
public class Core {
public Core() {
Scanner teclado = new Scanner(System.in);
System.out.println("\t1.- Servidor\n\t 2.- Cliente");
Integer op = (Integer)teclado.nextInt();
if (teclado!=null) {
if(op.equals(1)) {
Servidor s = new Servidor();
} else if (op.equals(2)) {
Cliente c = new Cliente();
}
}
}
}
No hay comentarios:
Publicar un comentario