国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

websocket客戶端實(shí)現(xiàn)(java)

這篇具有很好參考價(jià)值的文章主要介紹了websocket客戶端實(shí)現(xiàn)(java)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

import java.net.URI;
import java.util.HashMap;
import java.util.Map;
import javax.websocket.ClientEndpoint;
import javax.websocket.ContainerProvider;
import javax.websocket.OnMessage;
import javax.websocket.Session;
import javax.websocket.WebSocketContainer;
import javax.websocket.ClientEndpointConfig;
import javax.websocket.HandshakeResponse;

@ClientEndpoint
public class WebSocketClient {
    private Session session;

    public WebSocketClient(String uri, Map<String, String> headers) {
        try {
            WebSocketContainer container = ContainerProvider.getWebSocketContainer();
            ClientEndpointConfig.Configurator configurator = new ClientEndpointConfig.Configurator() {
                @Override
                public void beforeRequest(Map<String, List<String>> headers) {
                    for (Map.Entry<String, String> entry : headers.entrySet()) {
                        headers.put(entry.getKey(), Arrays.asList(entry.getValue()));
                    }
                }

                @Override
                public void afterResponse(HandshakeResponse response) {
                    // 可以在這里獲取響應(yīng)頭
                }
            };
            ClientEndpointConfig config = ClientEndpointConfig.Builder.create()
                    .configurator(configurator)
                    .build();
            config.getUserProperties().put(ClientEndpointConfig.HEADERS, headers);
            container.connectToServer(this, config, new URI(uri));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @OnMessage
    public void onMessage(String message) {
        // 處理收到的消息
    }

    public void sendMessage(String message) {
        session.getAsyncRemote().sendText(message);
    }

    public void close() {
        try {
            session.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

其中,headers 參數(shù)是一個(gè)鍵值對(duì),表示需要設(shè)置的請(qǐng)求頭。在構(gòu)造函數(shù)中,我們首先創(chuàng)建了一個(gè) ClientEndpointConfig.Configurator 對(duì)象,重寫了其中的 beforeRequest() 方法,用于在請(qǐng)求之前設(shè)置請(qǐng)求頭。然后,我們使用 ClientEndpointConfig.Builder.create() 方法創(chuàng)建一個(gè) ClientEndpointConfig 對(duì)象,并將 headers 設(shè)置為 UserProperties 的一個(gè)屬性。最后,我們調(diào)用 container.connectToServer() 方法時(shí),將 ClientEndpointConfig 對(duì)象作為參數(shù)傳入,用于配置 WebSocket 客戶端連接時(shí)的請(qǐng)求頭。

需要注意的是,不同的 WebSocket 客戶端實(shí)現(xiàn)可能需要使用不同的 API 來(lái)設(shè)置請(qǐng)求頭,具體請(qǐng)根據(jù)實(shí)際情況進(jìn)行修改。

調(diào)用示例如下:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-612757.html

import java.util.HashMap;
import java.util.Map;

public class WebSocketClientDemo {
    public static void main(String[] args) {
        Map<String, String> headers = new HashMap<>();
        headers.put("Authorization", "Bearer 123456");
        WebSocketClient client = new WebSocketClient("ws://localhost:8080/websocket", headers);
        client.sendMessage("Hello, WebSocket!");
        client.close();
    }
}

到了這里,關(guān)于websocket客戶端實(shí)現(xiàn)(java)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Java】SpringBoot快速整合WebSocket實(shí)現(xiàn)客戶端服務(wù)端相互推送信息

    【Java】SpringBoot快速整合WebSocket實(shí)現(xiàn)客戶端服務(wù)端相互推送信息

    目錄 什么是webSocket? webSocket可以用來(lái)做什么? WebSocket操作類 一:測(cè)試客戶端向服務(wù)端推送消息 1.啟動(dòng)SpringBoot項(xiàng)目 2.打開網(wǎng)站 3.進(jìn)行測(cè)試消息推送 4.后端進(jìn)行查看測(cè)試結(jié)果 二:測(cè)試服務(wù)端向客戶端推送消息 1.接口代碼 2.使用postman進(jìn)行調(diào)用 3.查看測(cè)試結(jié)果 ????????WebSocke

    2024年01月20日
    瀏覽(37)
  • Java:SpringBoot整合WebSocket實(shí)現(xiàn)服務(wù)端向客戶端推送消息

    Java:SpringBoot整合WebSocket實(shí)現(xiàn)服務(wù)端向客戶端推送消息

    思路: 后端通過(guò)websocket向前端推送消息,前端統(tǒng)一使用http協(xié)議接口向后端發(fā)送數(shù)據(jù) 本文僅放一部分重要的代碼,完整代碼可參看github倉(cāng)庫(kù) websocket 前端測(cè)試 :http://www.easyswoole.com/wstool.html 依賴 項(xiàng)目目錄 完整依賴 配置 WebSocketServer.java 前端頁(yè)面 websocket.html 前端邏輯 index.js 參

    2024年02月04日
    瀏覽(29)
  • java后端使用websocket實(shí)現(xiàn)與客戶端之間接收及發(fā)送消息

    客戶端請(qǐng)求websocket接口,連接通道=》我這邊業(yè)務(wù)成功客戶端發(fā)消息=》客戶端自動(dòng)刷新。 接口:ws://localhost:8080/websocket/xx 經(jīng)測(cè)試,成功 如果是線上服務(wù)器連接,則需要在nginx里配置websocket相關(guān)內(nèi)容,再重啟nginx,代碼如下 本地連接的時(shí)候用的是ws://,因?yàn)槭莌ttp鏈接,但是如果是

    2024年02月16日
    瀏覽(26)
  • Java WebSocket客戶端

    1.依賴 2.代碼 1.依賴 2.代碼 2.1 自定義 websocket handler 2.2 將websocket handler加入容器 2.3 定時(shí)器監(jiān)控

    2024年02月16日
    瀏覽(22)
  • Java WebSocket 獲取客戶端 IP 地址

    在開發(fā) Web 應(yīng)用程序時(shí),我們通常需要獲取客戶端的 IP 地址用于日志記錄、身份驗(yàn)證、限制訪問(wèn)等操作。當(dāng)使用 WebSocket 協(xié)議時(shí),我們可以使用 Java WebSocket API 來(lái)獲取客戶端的 IP 地址。 本文將介紹如何使用 Java WebSocket API 獲取客戶端 IP 地址,以及如何在常見的 WebSocket 框架中

    2024年02月05日
    瀏覽(27)
  • Java Websocket發(fā)送文件給Vue客戶端接收并上傳,實(shí)現(xiàn)檢測(cè)U盤插入并將指定文件上傳到服務(wù)器功能

    應(yīng)用環(huán)境: B/S架構(gòu) 需求描述: 1、判斷U盤接入 2、掃描U盤指定文件,將滿足條件的文件發(fā)送給服務(wù)器 解決思路: 1、因?yàn)閎s架構(gòu),無(wú)法獲取本機(jī)資源,計(jì)劃在U盤所在服務(wù)器部署websocket服務(wù) 2、websocket服務(wù)掃描u盤,拿到指定文件,使用session.getBasicRemote().sendBinary(data)分批發(fā)送二

    2024年01月15日
    瀏覽(24)
  • java webSocket服務(wù)端、客戶端、心跳檢測(cè)優(yōu)雅解決

    項(xiàng)目分為三個(gè)端,項(xiàng)目之間需要webSocket通信。 WebSocketConfig WebSocketServer

    2024年02月17日
    瀏覽(19)
  • SpringBoot+WebSocket實(shí)現(xiàn)服務(wù)端、客戶端

    SpringBoot+WebSocket實(shí)現(xiàn)服務(wù)端、客戶端

    小編最近一直在使用springboot框架開發(fā)項(xiàng)目,畢竟現(xiàn)在很多公司都在采用此框架,之后小編也會(huì)陸續(xù)寫關(guān)于springboot開發(fā)常用功能的文章。 什么場(chǎng)景下會(huì)要使用到websocket的呢? websocket主要功能就是實(shí)現(xiàn)網(wǎng)絡(luò)通訊,比如說(shuō)最經(jīng)典的客服聊天窗口、您有新的消息通知,或者是項(xiàng)目與

    2024年02月13日
    瀏覽(25)
  • java-websocket服務(wù)端、客戶端及如何測(cè)試

    java-websocket服務(wù)端、客戶端及如何測(cè)試

    1. 導(dǎo)入依賴 2. 服務(wù)端實(shí)現(xiàn) (1)基礎(chǔ)版 (2)優(yōu)化版 對(duì)String分片轉(zhuǎn)換為L(zhǎng)istbyte[] 3. 客戶端實(shí)現(xiàn) 4. websocket服務(wù)端測(cè)試方法 (1)自己編寫一個(gè)客戶端 ? 使用上面的java客戶端就可以直接調(diào)用測(cè)試。 (2)使用postman測(cè)試 ? postman版本需要在v8.0以上才有websocket的接口測(cè)試

    2024年02月11日
    瀏覽(22)
  • 實(shí)現(xiàn)c++輕量級(jí)別websocket協(xié)議客戶端

    實(shí)現(xiàn)c++輕量級(jí)別websocket協(xié)議客戶端

    因以前發(fā)過(guò)這個(gè)代碼,但是一直沒(méi)有整理,這次整理了一下,持續(xù)修改,主要是要使用在arm的linux上,發(fā)送接收的數(shù)據(jù)壓縮成圖片發(fā)送出去。 要達(dá)到輕量websocket 使用,必須要達(dá)到幾個(gè)方面才能足夠簡(jiǎn)單, 1、不用加入其他的庫(kù) 2、只需要使用頭文件包含就可以 3、跨平臺(tái) 如果

    2024年02月12日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包