亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 JS WebSocket 向 Java Server 發送和接收消息?

如何從 JS WebSocket 向 Java Server 發送和接收消息?

HUX布斯 2023-06-15 17:41:10
我知道如何為 Java 客戶端編寫 Java 服務器,但我是從 Js 編碼開始的,我絕對不了解其套接字的工作方式。我正在嘗試在 Java 中使用普通的 TCP 服務器,但我只是從 Js 收到部分消息頭,而不是消息。我的代碼可能只是錯誤的,所以如果有人只是給我發送一個帶有 Java 服務器和一些隨機字符串事務的 JS 客戶端示例,我會很高興。我附上我的代碼只是為了讓你受苦:)var socket = new WebSocket("ws://localhost:8080"); socket.send("hola");    public static void main(String [] args){        try {            ServerSocket serverSocket= new ServerSocket(8080);            ClientHandler clientHandler;            while (true){                Socket socket= serverSocket.accept();                clientHandler= new ClientHandler(socket);                clientHandler.start();            }        } catch (IOException e) {            e.printStackTrace();        }    }    private static class ClientHandler extends Thread{        Socket socket; InputStream in; OutputStream out; BufferedInputStream bufferedInputStream;        public ClientHandler(Socket socket){            try {                this.socket= socket;                in= socket.getInputStream();                out= socket.getOutputStream();                bufferedInputStream= new BufferedInputStream(in);            } catch (IOException e) {                e.printStackTrace();            }        }        @Override        public void run(){            System.out.println(socket.getInetAddress()+"Connected successfully");            try {                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));                StringBuilder stringBuilder = new StringBuilder();                stringBuilder.append(bufferedReader.readLine());                System.out.println(stringBuilder.toString());            } catch (IOException e) {                e.printStackTrace();            }        }    }}```    
查看完整描述

1 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

您的代碼中有很多問題。無論如何,您當前的問題是服務器實現了TCP服務器,但客戶端使用WebSocket ,這是TCP之上的協議,因此您也必須處理該協議。您必須自己實現 http web 套接字協議或使用Netty或其他實現它的庫。



查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號