springboot + WebSocketのグループチャットを達成

springbootプロジェクト、pom.xmlファイルを作成すると、ソケットの導入に依存します

        <依存性> 
            <のgroupId> org.springframework.boot </のgroupId> 
            <たartifactId>ばねブートスタータのWebSocket </たartifactId> 
        </依存>

ソケットコア構成クラスを作成します。

@Configuration 
@EnableWebSocketMessageBroker 
パブリック クラス WebSocketConfigが延びAbstractWebSocketMessageBrokerConfigurer { 
    @Override 
    公共 ボイドregisterStompEndpoints(StompEndpointRegistryレジストリ){ 
        registry.addEndpoint( "/ endpointSang")をwithSockJS()。// 添加终点
    } 

    @Override 
    公共 ボイドconfigureMessageBroker(MessageBrokerRegistryレジストリ){ 
        registry.enableSimpleBroker( "/トピック")。// 开启トップ代理
    } 
}

コントローラを作成します。

@Controller
 パブリック クラスWebSocketController { 
    
    @MessageMapping( "/購入可能です")   // リクエストは、/ welcomelが送ら 
    @SendTo( "/トピック/てgetResponse")// サブスクリプショントピック/てgetResponseに送信された
    公共の文字列のgetMessage(String型の名前を){ 
        System.out.println(名前); 
        戻り名; 
    } 
}

index.htmlのページを作成し、関連のjsファイルを導入することを忘れないでください

<!DOCTYPE HTML> 
<HTML LANG = "EN"> 
<HEAD> 
    <メタ文字コード= "UTF-8"> 
    <タイトル>のWebSocket广播</ TITLE> 
    <スクリプトSRC = "jqueryの- 3.4.1.js"> < /スクリプト> 
    <スクリプトSRC = "sockjs.min.js"> </ SCRIPT> 
    <スクリプトSRC = "stomp.js"> </ SCRIPT> 
</ HEAD> 
<BODY> 

<ボタンタイプ= "ボタン" onclickの=」 connent() ">连接</ボタン> 
の<input type ="テキスト」ID = "名前" /> 
<ボタンタイプ= "ボタン"のonclick = "SENDMSG()">发送</ボタン> 
<スクリプト> 

    VAR stompClient = ヌル;

    // 连接ソケット
    関数connent(){ 
        VARソケット = 新しい SockJS( "/ endpointSang" )。 
        stompClient= Stomp.over(ソケット)。
        stompClient.connect({}、関数(フレーム){ 
            stompClient.subscribe( "/トピック/てgetResponse" 関数(応答){ 
                にconsole.log(応答)
            })
        })
    } 

    // 断开连接
    機能disConnent(){
         もし(!stompClient = NULL ){ 
            stompClient.disconnect()。
        } 
    } 

    // 发送数据
    機能SENDMSG(){ 
        VAR名 = $( "#名" )(.val)。
        stompClient.send( "/welcome",{},JSON.stringify({"name" 名}))。
    }


 </ SCRIPT> 

</ body> 
</ HTML>

接続をクリックします

 

 データを送信した後、

 

 限り、サブスクリプション/トピックとして/てgetResponseは、データを受信することができます。

これは、グループチャットはデモ完成します。

ソースアドレス:https://github.com/duanbochao/websocket.git

おすすめ

転載: www.cnblogs.com/gfbzs/p/12576030.html