我有一个作为服务器的java应用程序,使用java.net.DatagramSocket类侦听一些端口。服务器能够接收来自其他java客户机的数据包。我没有设法做到的是有一个javascript客户端到服务器。我已经尝试发送消息作为WebSocket客户端
const ws = new WebSocket("ws://localhost:9999");
ws.addEventListener("open", () => {
console.log("CONNECTED")
})
但是我在浏览器控制台得到以下错误:
App.js:9 WebSocket连接到'ws://localhost:9999/'失败:
我也试过使用net库发送消息:
const net = require("net");
const options = {
post: 9999
};
const client = net.createConnection(options);
client.write("TEST")
但是我得到以下错误:
Uncaught TypeError: net。createConnection不是一个函数
还有其他方法吗?
UDP (DatagramSocket)和WebSocket是完全不同的东西。WebSocket是一个基于HTTP的协议,而HTTP又基于TCP。
在浏览器中运行的JavaScript不能发送UDP包。
你可以写一个代理服务器,它可以通过WebSocket从你的JavaScript程序接收消息,并通过UDP发送到你的服务器。
或者用WebSocket接口扩展你的服务器。