1. 程式人生 > >Java後臺框架篇--spring websocket 和stomp實現訊息功能

Java後臺框架篇--spring websocket 和stomp實現訊息功能

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<html>
<head>
    <title>Home</title>
    <spring:url value="/webjars/jquery/2.0.3/jquery.min.js" var="jQueryCore"/>
    <script src="${jQueryCore}"></script>
    <spring:url value="/webjars/sockjs-client/0.3.4/sockjs.min.js" var="sockJs"/>
    <script src="${sockJs}"></script>
    <spring:url value="/webjars/stomp-websocket/2.3.4/lib/stomp.min.js" var="stomp"/>
    <script src="${stomp}"></script>
    <spring:url value="/" var="context"/>
</head>
<body>
<button id="stop">Stop</button>

<script th:inline="javascript">
    var sock = new SockJS("${context}"+"/marcopolo");
    var stomp = Stomp.over(sock);

    stomp.connect('guest', 'guest', function(frame) {
        console.log('*****  Connected  *****');
        stomp.subscribe("/topic/marco", handlePolo);
        sayMarco();
    });

    function handleOneTime(message) {
        console.log('Received: ', message);
    }

    function handlePolo(message) {
        console.log('Received: ', message);
        $('#output').append("<b>Received: " +
                JSON.parse(message.body).message + "</b><br/>")
        if (JSON.parse(message.body).message === 'Polo!') {
            setTimeout(function(){sayMarco()}, 2000);
        }
    }

    function handleErrors(message) {
        console.log('RECEIVED ERROR: ', message);
        $('#output').append("<b>GOT AN ERROR!!!: " +
                JSON.parse(message.body).message + "</b><br/>")
    }

    function sayMarco() {
        console.log('Sending Marco!');
        stomp.send("/app/marco", {},
                JSON.stringify({ 'message': 'Marco!' }));
//        stomp.send("/topic/marco", {},
//                JSON.stringify({ 'message': 'Marco!' }));
        $('#output').append("<b>Send: Marco!</b><br/>")
    }

    $('#stop').click(function() {sock.close()});
</script>

<div id="output"></div>
</body>
</html>
PS:

相關推薦

Java後臺框架--spring websocket stomp實現訊息功能

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> <html> <head> <title>Home</title> <spring:

使用spring websocket stomp實現訊息功能

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> <html> <head> <title>Home</title> <spring:

spring 使用WebSocket STOMP 實現訊息功能

1)本文旨在 介紹如何 利用 WebSocket 和 STOMP 實現訊息功能; 2)要知道, WebSocket 是傳送和接收訊息的 底層API,而SockJS 是在 WebSocket 之上的 API;最後 STOMP(面向訊息的簡單文字協議)是基於 SockJS 的高

第18章 使用WebSocket STOMP實現訊息功能

概述: 瀏覽器和伺服器之間傳送訊息在SpringMVC控制器中處理訊息為目標使用者傳送訊息為了解決應用為web應用之間的通訊 Spring4.0 為 WebSocket通訊提供了支援 包括: 傳送和接收訊息的低層級API;傳送和接收訊息的高階API;用來發送訊息的模板

Java後臺框架--Spring與Restful風格API介面開發

Restful風格的API是一種軟體架構風格,設計風格而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和伺服器互動類的軟體。基於這個風格設計的軟體可以更簡潔,更有層次,更易於實現快取等機制。 在Restful風格中,使用者請求的url使用同一個url而用請求方式:get,post,

Java後臺框架--Spring的三種配置方式

1、Explicit configuration in XML:顯示的XML配置。      優點:      1)XML配置方式進一步降低了耦合,使得應用更加容易擴充套件,即使對配置檔案進一步修改也不需要工程進行修改和重新編譯。      2)在處理大的業務量的時候,用X

Java後臺框架--Spring單元測試中的H2資料庫

H2資料庫是一種由Java編寫的,極小,速度極快,可嵌入式的資料庫。非常適合用在單元測試等資料不需要儲存的場景下面。 以下時其官網的介紹: {% blockquote h2 http://www.h2database.com/html/main.html h2 %}Wel

Java後臺框架--Spring之快取

public class TestCache { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("config/spr

Java後臺框架--Spring的AOP實現原理

Spring的AOP實現原理,醞釀了一些日子,寫部落格之前信心不是很足,所以重新閱讀了一邊AOP的實現核心程式碼,而且又從網上找了一些Spring Aop剖析的例子,但是發現掛羊頭買狗肉的太多,標題高大上,內容卻大部分都是比較淺顯的一些介紹,可能也是由於比較少人閱讀這

Java後臺框架--Spring之WebService入門

前置技能 這個技能必須點一級,以便快速配置專案。 本文實際上是我學習Spring的過程中搬的官網上的demo,使用maven配置專案。 ② jdk 1.8+   該服務demo需要在jdk1.8+的環境下執行 新建專案,配置依賴檔案 ① 安裝好eclipse

Spring 學習——基於Spring WebSocket STOMP實現簡單的聊天功能

本篇主要講解如何使用Spring websocket 和STOMP搭建一個簡單的聊天功能專案,裡面使用到的技術,如websocket和STOMP等會簡單介紹,不會太深,如果對相關介紹不是很瞭解的,請自行查閱相關知識。 本篇的專案主要是一個學習Spring we

第18章-使用WebSocketSTOMP實現消息功能

control rom rup mpm 空間 except 線路 如何 cto Spring 4.0為WebSocket通信提供了支持,包括: 發送和接收消息的低層級API; 發送和接收消息的高級API; 用來發送消息的模板; 支持SockJS,用來解決瀏覽器端、服務器

spring websocket socketjs實現單聊群聊,廣播的消息推送詳解

退出 rec oid -name 返回 classes sockets 們的 tomcat7.0 spring websocket 和socketjs實現單聊群聊,廣播的消息推送詳解 WebSocket簡單介紹   隨著互聯網的發展,傳統的HTTP協議已經很難滿足Web應用

Spring Websocket+SockJS+STOMP實現即時通訊(零)—— 要點

Spring Websocket+SockJS+STOMP 實現即時通訊(一)—— 疑問解答 Spring Websocket+SockJS+STOMP 實現即時通訊(二)—— 簡單的訊息代理 Spr

Spring Websocket+SockJS+STOMP 實現即時通訊(三)—— ChannelInterceptor與ExecutorChannelInterceptor

ChannelInterceptor: Message被髮送到執行緒池,在傳送動作執行前(後)攔截,發生在當前執行緒。 ExecutorChannelInterceptor: Message被髮送到執行緒池後,線上程池持有的新執行緒中,在Message

Spring Websocket+SockJS+STOMP 實現即時通訊(四)—— MessageChannel

兩種MessageChannel實現 TemporaryReplyChannel 用於接收單個回覆訊息的臨時通道。在整個斷點除錯過程中沒有追蹤到,所以在這裡不詳細說明。 ExecutorSubscribableChannel 正如字面上所表示的這樣Ex

Spring Websocket+SockJS+STOMP 實現即時通訊(六)—— SubProtocolWebSocketHandler

目錄 WebsocketHandler SubProtocolWebSocketHandler 四個重要成員變數 protocolHandlerLookup 子協議

Spring Websocket+SockJS+STOMP 實現即時通訊(四)—— MessageHandler

目錄 MessageHandler的作用 MessageHandler實現類 兩類MessageHandler有什麼區別? MessageHandler的作用 上一節中我們提到過,E

Spring Websocket+SockJS+STOMP 實現即時通訊(五)—— UserRegistryMessageHandler與NoOpMessageHandler

目錄 UserRegistryMessageHandler 處理來自其它應用服務的登錄檔廣播 定期廣播本地登錄檔 使用場景 使用條件 啟用配

通過WebSocketSTOMP實現瀏覽器伺服器的訊息通訊

非同步訊息非同步訊息有兩個重要的概念,訊息代理(broker)和目的地(destination)。訊息代理:當一個應用傳送訊息時,需要制定傳送的目的地,然後將訊息交給訊息代理(類似郵局),訊息代理會確保訊息傳送到指定的目的地。目的地:不同的訊息系統有不同的訊息路由模式,但是有