有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案