簡體   English   中英

將字節從 javascript 客戶端發送到 java 后端 DatagramSocket

[英]Sending bytes from javascript client to java backend DatagramSocket

我有一個用作服務器的 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/' 失敗:

我也嘗試過使用網絡庫發送消息:

    const net = require("net");
    const options = {
        post: 9999
    };
    const  client = net.createConnection(options);
    client.write("TEST")

但我收到以下錯誤:

未捕獲的類型錯誤:net.createConnection 不是函數

有沒有其他方法可以做到這一點?

UDP (DatagramSocket) 和 WebSocket 是完全不同的東西。 WebSocket 是 HTTP 之上的協議,它位於 TCP 之上。

在瀏覽器內運行的 JavaScript 中,您不能發送 UDP 包。

您可以編寫某種代理服務器,它可以通過 WebSocket 從您的 JavaScript 程序接收消息,並通過 UDP 將它們發送到您的服務器。

或者使用 WebSocket 接口擴展您的服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM