一、簡介
STOMP是一個基於幀(frame)的簡單消息協議(Simple Text Oriented Messaging Protocol)。STOMP適用於不同語言和操作系統之間的異構系統。STOMP定義了客戶端和代理(broker)之間的一個簡單協議,使得客戶端和代理之間通過消息來相互通信,這使得STOMP成為一個理想的中間件協議。stompover是一個WebSocket-based的實現。
二、使用
下載並通過NPM安裝stompover:
npm install stompover --save
在JavaScript中,你可以這樣使用stompover:
const Stompover = require('stompover');
const client = new Stompover.Client('ws://localhost:15674/ws');
client.connect({ login: 'testuser', passcode: 'Testuser@123' }, (sessionId) => {
// do something
});
這將創建一個新的stompover客戶端,並嘗試建立到ws://localhost:15674/ws的連接。如果連接成功,回調函數會返回一個會話ID。
三、連接
在使用STOMP之前,必須建立到代理的連接。Stompover通過WebSocket來實現連接。連接時,需要提供STOMP版本和用戶名密碼進行驗證。
連接示例:
const client = new Stompover.Client('ws://localhost:15674/ws', '1.0');
client.connect({ login: 'testuser', passcode: 'Testuser@123' }, (sessionId) => {
console.log('Connected with session ID: ' + sessionId);
});
四、訂閱/發送消息
通過訂閱和/或發送消息來進行通信。可以定期訂閱一個主題(topic)或隊列(queue)。當代理接收到與該主題或隊列相關的消息時,它會將消息推送給所有訂閱它的客戶端。
發送示例:
client.send('/topic/test', 'Hello, STOMP');
訂閱示例:
const subscription = client.subscribe('/topic/test', function(msg) {
console.log('Received message: ' + msg.body);
});
五、斷開連接
當使用完stompover之後,應該關閉連接。客戶端可以通過調用close()方法來關閉連接:
client.close();
六、總結
stompover是一個實現STOMP協議的WebSocket-based的庫。它提供了連接、訂閱、發送、斷開連接等基本功能。可以用於不同語言和操作系統之間的異構系統之間的消息傳輸。
原創文章,作者:PVTEK,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/360765.html