Как отправить файл через сокет в Dart - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь отправить двоичный файл, такой как изображение или PDF через сокет. Я пробовал следующее:

   file.readAsBytesSync().forEach((f) {
     socket.write(f);
   });

И

   socket.write(file.readAsBytesSync());

Но я получаю список целых чисел вместо двоичного файла. Код, приведенный ниже в JAVA, работает нормально, и принимающий порт получает файл в правильном формате

DataOutputStream dos = new DataOutputStream(s.getOutputStream());
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[4096];

while (fis.read(buffer) > 0) {
    dos.write(buffer);
}

fis.close();
dos.close();

Я пытаюсь выяснить, что будет дартс-эквивалентом вышеуказанного Java-кода.

Заранее спасибо.

1 Ответ

0 голосов
/ 14 ноября 2018

Правильный код:

Socket s = await Socket.connect(host, port);
await s.addStream(file.openRead());
print("ok: data written");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...