Buscador

martes, 5 de mayo de 2015

Sockets: Ejemplos en diferentes lenguajes

Código del Socket en Java

El código (hecho en Java) está dividido en dos clases, la clase Cliente que enviará la petición y recibirá la respuesta del servidor, y la clase Servidor que será el encargado de recibir la petición y enviar la respuesta al cliente.
Clase Cliente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
import java.io.*;
import java.net.*;
 
public class Cliente_uoc {
 
public static void main(String args[]) {
 Socket cliente = null;
 DataInputStream entrada = null;
 DataOutputStream salida = null;
 
 String ipServidor ="127.0.0.1";   
 //nos conectamos al localhost a traves de esta dirección IP
 
 //if (cliente != null && salida != null && entrada!= null) { 
try { 
 
 cliente = new Socket(ipServidor, 2017);  
 //asignamos este numero de puerto
 entrada = new DataInputStream(cliente.getInputStream());
 // será lo que enviaremos al servidor 
 salida = new DataOutputStream(cliente.getOutputStream());
 // será lo que nos devuelva el servidor 
 
}
catch (UnknownHostException excepcion) {
 System.err.println("El servidor no está levantado");
}
catch (Exception e) {
 System.err.println("Error: " + e );
}
 
try {
 String linea_recibida;
 salida.writeBytes("Frase que envio al servidor\n");
 linea_recibida = entrada.readLine();
 System.out.println("SERVIDOR DICE: " + linea_recibida);
 salida.close();
 entrada.close();
 cliente.close();
}
catch (UnknownHostException excepcion) {
 System.err.println("No encuentro el servidor en la dirección" + ipServidor);
}
catch (IOException excepcion) {
 System.err.println("Error de entrada/salida");
}
catch (Exception e) {
 System.err.println("Error: " + e );
 
}
}
}
Clase Servidor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
import java.io.*;
import java.net.*;
public class Servidor_uoc {
public static void main(String args[]) {
ServerSocket mi_servicio = null;
String linea_recibida;
DataInputStream entrada;
PrintStream salida;
Socket socket_conectado = null;
try {
mi_servicio = new ServerSocket(2017);
}
catch (IOException excepcion) {
System.out.println(excepcion);
}
try {
socket_conectado = mi_servicio.accept();
entrada = new DataInputStream(socket_conectado.getInputStream());
salida = new PrintStream(socket_conectado.getOutputStream());
linea_recibida = entrada.readLine();
salida.println("Te reenvio lo que he recibido:" + linea_recibida );
salida.close();
entrada.close();
socket_conectado.close();
}
catch (IOException excepcion) {
System.out.println(excepcion);
}}
}
*** El servidor debe estar corriendo antes de hacer la llamada desde el cliente

Socket en Node.js con REPL personalizado


var repl = require("repl"), 
net = require("net");
// start REPL with ignoreUndefined set to true
repl.start("node personalizado> ", null, null, null, true);
net.createServer(function (socket) {
repl.start("node via TCP socket> ", socket);
}).listen(8124);


No hay comentarios:

Publicar un comentario