I am currently converting a NodeJS project to Java. At the moment I am detained in a problem that I have not found a solution. In my Node project, I have a function that works with EventEmitter(require('events')) and Net Sockets (require("net")), and uses the "emit" functions to send messages and "on" to receive. How can I do the same in Java ???
Maybe you will need some like this:
Server side:
import java.io.*;
public class Conex {
final int PUERTO=5000;
ServerSocket sc;
Socket so;
DataOutputStream salida;
String mensajeRecibido;
//SERVIDOR
public void initServer()
{
BufferedReader entrada;
try
{
sc = new ServerSocket(PUERTO );/* crea socket servidor que escuchara en puerto 5000*/
so=new Socket();
System.out.println("Esperando una conexión:");
so = sc.accept();</pre>
<pre class="brush:java">//Inicia el socket, ahora esta esperando una conexión por parte del cliente
System.out.println("Un cliente se ha conectado.");
//Canales de entrada y salida de datos
entrada = new BufferedReader(new InputStreamReader(so.getInputStream()));
salida = new DataOutputStream(so.getOutputStream());
System.out.println("Confirmando conexion al cliente....");
salida.writeUTF("Conexión exitosa...n envia un mensaje :D");
//Recepcion de mensaje
mensajeRecibido = entrada.readLine();
System.out.println(mensajeRecibido);
salida.writeUTF("Se recibio tu mensaje.n Terminando conexion...");
salida.writeUTF("Gracias por conectarte, adios!");
System.out.println("Cerrando conexión...");
sc.close();//Aqui se cierra la conexión con el cliente
}catch(Exception e )
{
System.out.println("Error: "+e.getMessage());
}
}
}
Client side:
import java.io.*;
public class Conex {
final String HOST = "localhost";
final int PUERTO=5000;
Socket sc;
DataOutputStream mensaje;
DataInputStream entrada;
//Cliente
public void initClient() /*ejecuta este metodo para correr el cliente */
{
try
{
sc = new Socket( HOST , PUERTO ); /*conectar a un servidor en localhost con puerto 5000*/
//creamos el flujo de datos por el que se enviara un mensaje
mensaje = new DataOutputStream(sc.getOutputStream());
//enviamos el mensaje
mensaje.writeUTF("hola que tal!!");
//cerramos la conexión
sc.close();
}catch(Exception e )
{
System.out.println("Error: "+e.getMessage());
}
}
}