【问题标题】:How to send file over a socket in Dart如何通过 Dart 中的套接字发送文件
【发布时间】:2018-11-14 07:52:49
【问题描述】:

我正在尝试通过套接字发送二进制文件,例如图像或 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();

我正在试图弄清楚 Dart 与上述 java 代码的等价物。

提前致谢。

【问题讨论】:

  • 兄弟你能告诉你如何接收这个文件作为一个套接字客户端对不起题外话问题

标签: sockets dart flutter


【解决方案1】:

正确代码:

Socket s = await Socket.connect(host, port);
await s.addStream(file.openRead());
print("ok: data written");

【讨论】:

  • 像魅力一样工作,谢谢:)
猜你喜欢
  • 2013-09-27
  • 2011-02-24
  • 1970-01-01
  • 2016-02-15
  • 2012-07-12
  • 2015-08-28
  • 2021-07-06
相关资源
最近更新 更多