miércoles, 30 de julio de 2014

Conectar java socket con php socket

Hoy aprenderemos a conectar una pagina web (cliente ) y un socket java (servidor). Vamos a poder enviar y recibir datos tanto del lado del servidor como del lado del cliente.





 Ahora vamos directo con el código del servidor

import java.io.*;
import java.net.*;

public class servidor {

    public static BufferedReader entrada;
    public static DataOutputStream salida;

    public static void main(String args[]) {
        String cadena = "cadena para enviar";

        ServerSocket ServidorSocket;
        Socket socket;
       
        try {
            // se instancia y se abre un puerto
            ServidorSocket = new ServerSocket(1234);
            //aceptamos la conexion del cliente
            socket = ServidorSocket.accept();
            
            //entrada se recibe los mensajaes del cliente
            entrada = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            String mensaje = entrada.readLine();
            System.out.println(mensaje);
            
            //salida se envia los mensajes al cliente
            salida = new DataOutputStream((socket.getOutputStream()));
            salida.writeUTF("mensaje del servidor");
            //cerramos la conexion
            socket.close();
            ServidorSocket.close();


        } catch (IOException e1) {
            e1.printStackTrace();
            return;
        }
       
        }
    }

Código del Cliente


<?php
$host = "127.0.0.1"; 
$port = 1234; 
$message = "Mensaje para el servidor"."\n"; 

$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("No se pudo crear el socket\n");

$result = socket_connect($socket, $host, $port) or die("No se pudo conectar con el servidor\n"); 

socket_write($socket, $message, strlen($message)) or die("No se pudo enviar datos al servidor\n"); 

$result = socket_read ($socket, 1024) or die("No se pudo leer la respuesta del servidor\n"); 
echo "El servidor dice :<br>".$result; 
socket_close($socket); 

?>



Primero ejecutamos nuestro servidor. 
 Si todo nos va bien el servidor se va ejecutar y esperar la conexión del cliente nos debería de aparecer así en netbeans 












Ahora ejecutamos nuestro cliente. Nos tiene que aparecer el mensaje que el servidor nos envió en este caso 
nos envió "mensaje del servidor"..















 
 
 

Y en nuestro servidor nos tiene que llegar el mensaje del cliente

















No hay comentarios:

Publicar un comentario