java如何在Flutter中显示Stomp消息
我在JavaSpringBoot中创建了一个STOMPsocket,并在Flatter中连接了它,但我不知道如何显示输出消息send-in和sending-message。 我已使用以下代码连接到socket
import 'dart:async';
import 'dart:convert';
import 'package:heath_care/networks/auth.dart';
import 'package:stomp_dart_client/stomp.dart';
import 'package:stomp_dart_client/stomp_config.dart';
import 'package:stomp_dart_client/stomp_frame.dart';
String? username;
dynamic onConnect(StompClient client, StompFrame frame) {
client.subscribe(destination: '/topic/public', callback: onMessageReceive);
Timer.periodic(Duration(seconds: 10), (_) {
client.send(
destination: '/app/chat.register',
body: json.encode({'sender': username, 'type': 'JOIN'}));
});
}
Future<String> getToken() async {
String token = await Auth().getToken();
return token;
}
var token = getToken();
final stompClient = StompClient(
config: StompConfig(
url: 'ws://10.0.2.2:8080/chat-test',
onConnect: onConnect,
onWebSocketError: (dynamic error) => print(error.toString()),
stompConnectHeaders: {'Authorization': 'Bearer $token'},
webSocketConnectHeaders: {'Authorization': 'Bearer $token'}));
void onMessageReceive(StompFrame frame) {
var message = json.decode(frame.body);
if (message.type == 'JOIN') {
message.content = message.sender + 'joined';
} else if (message.type == 'LEAVE') {
message.content = message.sender + ' left!';
} else {}
}
请帮助我解决这个问题,我如何在StatefulWidget中显示它
非常感谢你
共 (0) 个答案