Tengo una aplicación java que funciona como servidor, escuchando algún puerto usando la clase java.net.DatagramSocket. El servidor puede recibir paquetes de otros clientes Java. Lo que no logré hacer es tener un cliente javascript para el servidor. He intentado enviar mensajes como cliente WebSocket
const ws = new WebSocket("ws://localhost:9999"); ws.addEventListener("open", () => { console.log("CONNECTED") })Pero recibo el siguiente error en la consola del navegador:
App.js:9 La conexión de WebSocket a 'ws://localhost:9999/' falló:
También intenté usar la biblioteca de red para enviar un mensaje:
const net = require("net"); const options = { post: 9999 }; const client = net.createConnection(options); client.write("TEST")Pero estoy recibiendo el siguiente error:
TypeError no detectado: net.createConnection no es una función
Hay alguna otra manera de hacer esto?
UDP (DatagramSocket) y WebSocket son cosas totalmente diferentes. WebSocket es un protocolo sobre HTTP que está sobre TCP.
En JavaScript que se ejecuta dentro del navegador, no puede enviar paquetes UDP.
Puede escribir algún tipo de servidor proxy, que puede recibir mensajes a través de WebSocket desde su programa JavaScript y enviarlos a través de UDP a su servidor.
O amplíe su servidor con una interfaz WebSocket.