Java - Redirigir TCP a HTTP

 
Vista:
sin imagen de perfil
Val: 186
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Redirigir TCP a HTTP

Publicado por Juan (70 intervenciones) el 10/12/2020 13:27:34
Buenas adjunto imagen para explicarme.

Ordenes

Como veis tengo 2 ordenadors, el primero que llamare ordenadorWeb. no tiene internet, solo un cable ethernet que comunica con el segundo ordenador que llamare ordenadorPuente.

El ordenadorWeb, ofrece una web en el puerto 80. como no tiene internet, se accede a ella mediante el cable ethernet.

Desde el ordenadorPuente en el navegador coloco la dirección ip del ordenadorWeb y puedo visualizar la web, sin problema ninguno.

El ordenadorPuente recibe conexiones Socket TCP/IP, mediante java. Lo que estoy intentando hacer es que cuando reciba cierto mensaje por el socket, este redirija la conexión a la web del ordenadorWeb.

intente enviando la respuesta de este método:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private static String connection(){
    String mensaje="";
    try {
         URL url = new URL("http://ip-ordenadorWeb");
         URLConnection conexion = url.openConnection();
         conexion.connect();
 
         InputStream is = conexion.getInputStream();
         BufferedReader br = new BufferedReader(new InputStreamReader(is));
         char[] buffer = new char[1000];
         int leido;
         while ((leido = br.read(buffer)) > 0) {
             mensaje = mensaje+(new String(buffer, 0, leido));
         }
      } catch (Exception e) {
         System.out.println(e.toString());
      }
    return mensaje;
}

Con eso visualizo la web, pero evidentemente el css no se ve, ni puedo ejecutar las acciones de los botones, ni nada. simplemente visualizo el html. las letras y estructura de la web, pero sin organización ni posibilidad de ejecutar acciones. Esto es normal. porque solo estoy pasando el html.

Pero bueno lo pongo como ejemplo, para que sepais que la conexiones están bien. pero no se como trasferir una conexión a otra. ya que de esta manera solo devuelvo un string con el html. pero no redirijo la conexión. es posible redirigir esta conexión? es posible hacerlo con java? o debe hacerse en otro lenguaje?.

Si alguno me puede asesorar. con alguna documentación, o sobre que librería debo usar o algo. No pido solución. si no un punto de partida. desde el que pueda empezar a investigar y a probar. ya que no se que probar para redirigir una conexión TCP/IP a HTTP.
Es que busco por internet y solo me sale la redirección de puerto en moden, o en servidores linux, o como hacerlo desde nginx, xamp, iptables y estos programas. Pero no consigo nada para hacerlo mediante programación.

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Redirigir TCP a HTTP

Publicado por Tom (1831 intervenciones) el 10/12/2020 14:33:08
Supongo que has tenido en cuenta que si quieres visualizar html en Ordenador, necesitas "algo" que lo entienda y lo "pinte" (un browser como firefox o algo del sdk de java como javaFx WebView).
Por lo demás la idea del puente está bien, en eso consiste, en leer de un lado y escribir en otro ...

En Ordenador podrías tener una instancia de un WebView que cargara "strings" (lo que lees de tu conexión tcp/ip).

https://docs.oracle.com/javase/8/javafx/api/javafx/scene/web/WebEngine.html#loadContent-java.lang.String-

De cualquier manera, todo esto funciona mucho mejor con soluciones fuera de tu programa, haciendo que Ordenador "vea" a Ordenador Web.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar