Replace initState block in above example. This is working
@override
void initState() {
super.initState();
channel = WebSocketChannel.connect(Uri.parse(ApiPath.WSS_ANGEL));
channel!.sink.add(
jsonEncode({
"task": "cn",
"channel": "",
"token": "feed_token",
"user": "client_id",
"acctid": "client_id"
}),
);
channel!.sink.add(
jsonEncode({
"task": "mw",
// "channel": "nse_cm|3045",
"channel": "nse_cm|3045&nse_cm|2885",
"token": "feed_token",
"user": "client_id",
"acctid": "client_id"
}),
);
channel!.stream.listen(
(data) {
String response = data.toString();
debugPrint('wss Response before Decode: ' + response);
var step1 = base64.decode(response);
debugPrint('wss Response Decode Step 1: ' + step1.toString());
);
}
Decoded Data in Log
wss Response Decode Step 3: [{e: nse_cm, name: sf, ltp: 2597.25, ltq: 20, tk: 2885, ltt: NA}, {e: nse_cm, name: sf, ltp: 518.90, ltq: 8, tk: 3045, ltt: NA}]