oct
1
2012

Ejemplo de Socket en Java

Socket

Un socket es un mecanismo que permite la conexión entre distintos procesos que habitualmente utilizamos para establecer comunicaciones entre distintas máquinas que estén conectadas a través de la red.
(+ info)

Código del Socket

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

Han llegado aquí buscando:
Ningún usuario a búscado algo parecido en nuestra website

Related Posts

Acerca del Autor:

1 Comment + Add Comment

  • [...] este artículo puedes ver un ejemplo de socket hecho en Java. Click on any of these buttons to help us to maintain this website. &nbsp&nbsp Seguir a [...]

Leave a comment


+ 3 = once

Ayudas!

Recientes

  • Luciano: Ber. No encuentro lo que pusiste, tanto la aplicacion JAVA para que el movil envie datos cada 20 seg, a una...
  • Ber: Pongo los que voy utilizando, si te animas y tienes alguno, enviamelo y lo publicamos. Un saludo,
  • luis enrique: estimado tienes batcheros para validar reglas de tipo numéricos, fecha y letras, asi como retirar...
  • Ber: Hola, No se muy bien a que te refieres, si me das más detalles. Saludos
  • Myri: hola me puedes ayudar me sale una cxudricula en el emulador pero en el telefono me sale q la plicacion no se...
Google+