Массив возврата моментального снимка

#flutter #dart #websocket

#трепетать #дротик #websocket

Вопрос:

Я создал сервер веб-сокетов с Node.js для подключения двух приложений Flutter. Я могу отправить сообщение на сервер, но когда я слушаю его в веб-приложении, я получаю массив [79,101] вместо сообщения (Oi). Как я могу это решить?

Сообщение о потоке

 void _sendMessage(data) {  widget.channel.sink.add('Oi');  }  

Конструктор потоков Cliente

 StreamBuilder(  stream: channel.stream,  builder: (context, snapshot) {   return Text(snapshot.hasData ? '${snapshot.data}' : 'Null');  },  )  

Node.js Сервер

 const WebSocket = require('ws'); // start the server and specify the port number const port = 8080; const wss = new WebSocket.Server({ port: port });  console.log(`[WebSocket] Starting WebSocket server on localhost:${port}`); wss.on('connection', (ws, request) =gt; {   const clientIp = request.sock.remoteAddress; console.log(`[WebSocket] Client with IP ${clientIp} has connected`);  ws.send('Connected!'); // Broadcast aka send messages to all connected clients  ws.on('message', (message) =gt; {  wss.clients.forEach((client) =gt; {   if (client.readyState === WebSocket.OPEN) {   client.send(message); } }) console.log(`[WebSocket] Message ${message} was received`); }); });  

Комментарии:

1. что хранится в массиве «snapshot.data»?

2. когда я печатаю данные, возвращается [79, 105]

3. его переводят в Oi (utf8), но я просто не могу преобразовать снимок AsyncSnapshotlt;Объект?gt; в строку 🙁

Ответ №1:

Возможно, это не то решение, которое вы ищете, но я бы попытался преобразовать ответ с помощью String.fromCharCode , так как ответ может быть символами ASCII, чтобы начать мой способ отладки.