npm i --save nativescript-stomp-connector
- 版本:1.1.2-beta
- GitHub: https://github.com/dfborba/nativescript-stomp-connector
- NPM: https://npmjs.net.cn/package/nativescript-stomp-connector
- 下载
- 昨天: 0
- 上周: 1
- 上个月: 7
:warning: 此插件正在建设中。
nativescript-stomp-connector
STOMP 协议的 Websocket 客户端连接器。
此插件使用 NaikSoftware/StompProtocolAndroid 用于 Android 和 WrathChaos/StompClientLib 用于 iOS。
#TODO
- [ ] 迁移到 Nativescript 7;
- [ ] 添加 Nativescript 核心示例;
- [ ] 在此 README 中添加使用 spring boot 的服务示例仓库;
- [ ] 在此 README 中添加故障排除;
- [ ] 改进 API 文档;
安装
运行 nativescript 命令行工具安装此插件
tns plugin add nativescript-stomp-connector
用法
核心
正在建设中
TypeScript
在您的组件中导入 StompConnector
import { StompConnector, StompMessage } from 'nativescript-stomp-connector';
调用 Connnect
private _wsUrl = "ws://{your-server}:{port}/{path}/websocket";
public stompClient: StompConnector;
constructor(private _changeDetectorRef: ChangeDetectorRef) {
this.stompClient = new StompConnector();
}
public connect(): void {
this.stompClient.connect({
brokerURL: this._wsUrl,
onConnect: () => {
console.log(`==== CONNECTED ===`);
},
onReconnect: () => {
console.log(`==== RECONNECTED ===`);
},
onStompError: (error) => {
console.error(error);
},
onDisconnect: () => {
console.log(`==== DISCONNECTED ===`);
},
debug: (msg: string) => {
console.log(msg);
}
} as StompConfig);
}
断开连接
public disconnect(): void {
this.stompClient.disconnect();
}
订阅主题
public subscribeToTopic(): void {
this.stompClient.topic('/topic/broadcast', (response: StompMessage) => { console.dir(response); });
}
取消订阅主题
unsubscribeToTopic() {
this.stompClient.unsubscribe('/topic/broadcast', () => console.log("Unsubscribed successfully"));
}
发送消息
sendMessageAsObject() {
this.stompClient.send({
message: JSON.stringify({ content: this.messageContent }),
destination: '/app/greetings',
withHeaders: { "content-type": "application/json" }
}, () => { console.log('Message just sent!'); });
}
API
StompConnector
connect(config)
此函数将连接到您的 STOMP 代理并在完成后调用 onConnect 回调;
disconnect()
断开 STOMP 代理的连接;
isConnected()
如果代理已连接则返回 true;
topic(destination, successCallBack, failCallBack)
通过传递目的地和 successCallBack 作为必选参数来订阅主题。
unsubscribe(destination, successCallback)
通过目的地取消订阅主题。
send(request, successCallBack, failCallBack)
向 STOMP 代理发送消息;
StompConfiguration
属性 | 默认值 | 描述 |
---|---|---|
brokerURL | 空 | WebSocket URL。 必填 |
autoReconnect | false | 目前仅适用于 Android |
reconnectDelay | 5000 | 重新连接尝试之间的延迟(毫秒) |
connectHeaders | 空 | [key: string]: string; > 示例:{ 'content-type': 'application/json' } |
onConnect() | 函数 | 在 WebSocket 连接成功时调用的回调 |
onReconnect() | 函数 | 在服务器自动重新连接时调用的回调。 目前仅适用于 Android |
onDisconnect() | 函数 | 在 WebSocket 断开连接时调用的回调 |
onStompError(error) | 函数 | 在出现异常时调用 |
debug(msg) | 函数 | 使用此方法可以获取更多日志 |
原生组件
Android | iOS |
---|---|
NaikSoftware/StompProtocolAndroid | WrathChaos/StompClientLib |
作者
Daniel Borba, [email protected]
许可
Apache License 版本 2.0,2004 年 1 月