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