相关疑难解决方法(0)

Flutter, dart:io - 将 Uint8List(来自 websocket)转换为我可以绘制的 jpeg 文件

我编写了一个简单的nodejs ws websocket 服务器,它在客户端连接时提供二进制 jpeg 文件,如下所示:

import WebSocket = require("ws");

console.log("Websocket is starting...");
// Setup websocket
const wss = new WebSocket.Server({ port: 8080 });

wss.on("connection", function connection(webSocket) {
    console.log("Connected");

    webSocket.on("message", function incoming(message) {
        console.log("received: %s", message);
    });

    webSocket.on("error", function error(err) {
        console.log(err.error);
    });
    webSocket.send(binaryJpegFile);
});
Run Code Online (Sandbox Code Playgroud)

这段代码有一个错误,因为它默认作为文本发送,所以我替换了:

webSocket.send(binaryJpegFile);
Run Code Online (Sandbox Code Playgroud)

和:

webSocket.send(binaryJpegFile, {binary: true});
Run Code Online (Sandbox Code Playgroud)

现在,我的颤振代码使用以下代码将二进制 jpeg 文件作为 Uint8List 接收:

  WebSocket socket;

  void handleWebSocket(data) {
    // Listen for incoming data. We expect the data to be a JSON-encoded String.
    print("WebSocket data received");
    if …
Run Code Online (Sandbox Code Playgroud)

dart-io flutter

7
推荐指数
1
解决办法
1万
查看次数

Dart 中的 Echo WebSocket

我正在尝试在 Dart 中创建一个“echo”WebSocket,但在网上我只能找到过时的示例。

这是我目前的代码:

服务器:

import 'dart:io';
import 'dart:convert';

void main() async {
  final serverSocket = await ServerSocket.bind('127.0.0.1', 5600);
  await for (Socket socket in serverSocket) {
    socket.transform(utf8.decoder).listen((data) {
      print(data);
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

客户:

import 'dart:html';

WebSocket socket;
bool open = false;

void main() {
  querySelector('#sendHello').onClick.listen(onClick);
  querySelector('#output').text = 'Your Dart app is running.';

  socket = WebSocket('ws://localhost:5600');
  socket.onMessage.listen(socketMessage);
  socket.onOpen.listen((_) => open = true);
}

void socketMessage(MessageEvent event){
  print('I recived: ${event.data}');
}

void onClick(MouseEvent event) {
  if (!open)
    print('Connection is not open!');
  else …
Run Code Online (Sandbox Code Playgroud)

sockets websocket dart

5
推荐指数
1
解决办法
1083
查看次数

标签 统计

dart ×1

dart-io ×1

flutter ×1

sockets ×1

websocket ×1