问题标签 [dart-io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
437 浏览

dart - 如何在 dart 控制台应用程序中禁用标准输入回显以输入密码

下面的示例将读取用户的密码,但也会以纯文本形式回显,有没有办法解决这个问题?

0 投票
1 回答
320 浏览

io - 如何使用 Dart 中的新 Streams API 执行 stdin.close()?

我要求用户在我的命令行 (dart:io) 应用程序中输入。从用户那里得到答案后,我想退订Stream. 然后,稍后,我可能想再听一次(但用不同的听众,所以pause()不要resume()帮助我)。

在启动时,我有这个:

后来,当我想收集输入时:

这按预期工作,但它stdin在程序执行结束时保持打开状态。使用之前的 API,关闭stdin就像调用stdin.close(). 但是对于新的 API,stdinis a Stream,而那些没有该close方法。

我认为我正在做的是关闭(阅读:取消订阅)转换后的流,但保持原始(stdin)流打开。

我对么?如果是这样,我如何stdin在程序退出时关闭底层流?

0 投票
3 回答
12198 浏览

dart - 如何在 Dart 中尚不存在的目录结构中创建文件?

我想创建一个文件,比如说foo/bar/baz/bleh.html,但是没有目录foofoo/bar/等等。

如何创建我的文件以递归方式创建所有目录?

0 投票
2 回答
1740 浏览

dart - 侦听端口并使用 Web 套接字推送数据的 TCP 套接字服务器

我看到有一个新版本的 dart:io。如何使用新的 v2 dart:IO 创建一个套接字服务器,它侦听端口以获取新数据并通过 Web 套接字将接收到的数据推送到其订阅的客户端?

我有一个 java 和 ac# 桌面应用程序(tcpClient),我想在特定端口上向我的 dart 服务器发送一个字符串(json 或 xml)。该字符串应该回复到我的 tcpClient 并使用 Web Sockets 推送到所有其他订阅的客户端(浏览器)。

我有以下内容,但是如何访问已发送到该特定套接字的数据?


编辑:也许我应该把问题分成两部分。

如何在 Dart 中创建一个监听特定端口数据的服务器?

在 node.js 中,可以使用如下内容:

0 投票
1 回答
401 浏览

websocket - dart 聊天服务器示例,从另一台机器连接

如何从另一台物理机连接到聊天服务器示例?


https://www.dartlang.org/slides/2012/06/io12/Bullseye-Your-first-Dart-app-Codelab-googleIO2012.pdf _

我修改聊天服务器,绑定 192.168.1.5 而不是 127.0.0.1。
我从命令行运行服务器。
从 192.168.1.9 在 chrome 中,我连接到 192.168.1.5:1337/index.html。
在客户端,我得到了聊天客户端页面,但是在状态窗口中,我得到:
[系统]:连接到 Web 套接字
[系统]:Web 套接字关闭,2 秒后重试
[系统]:连接到 Web 套接字
[系统]: web socket关闭,4秒后重试

在 192.168.1.5 上使用 chrome 可以正常工作。

谢谢

0 投票
1 回答
716 浏览

dart - Dart 中的简单命令行应用程序 I/O

有没有办法从用户那里获取单个字符(整数)键盘输入并将它们存储到 Dart 命令行应用程序中的变量中?我试过类似的东西:

试图将键盘输入存储到变量“选择”和此代码的许多细微变化中,但无法使其正常工作。

0 投票
2 回答
207 浏览

dart - 控制台应用程序 - StringDecoder 标准输入

对于终端输入显示了以下或类似的内容,但是使用 ctl-d 终止输入并不好。还有另一种方法可以退出这个“循环”吗?

0 投票
1 回答
921 浏览

dart - 使用 readAsString() 读取文本文件并使用结果

下面的示例 (1) 读取文件并打印内容,而不将文件内容显式分配给变量(即“.then(stdout.write)”)。但是,如果我想做的不仅仅是打印内容(2),我需要将内容分配给一个变量(我认为)。

是否可以在不将文件文本分配给变量的情况下实现这一目标(打印内容并做更多事情)?

在第一个示例中,是否创建了隐式变量?或者,换句话说,example1 是否通过不创建显式变量来使用更少的资源?

0 投票
3 回答
2449 浏览

dart - Dart:并行处理传入的 HTTP 请求

我正在尝试在 Dart 中编写一个可以并行处理多个请求的 HTTP 服务器。到目前为止,我一直未能成功实现“并行”部分。

这是我一开始尝试的:

对于每个请求,它都会忙工作一秒钟,然后完成。我让它以这种方式处理请求,以便它的时间是可预测的,所以我可以很容易地在 Windows 任务管理器中看到请求的效果(CPU 核心跳到 100% 的使用率)。

我可以说这不是并行处理请求,因为:

  1. 如果我加载几个浏览器选项卡http://example:8080/然后全部刷新它们,这些选项卡会依次加载,每个选项卡之间大约 1 秒。

  2. 如果我将负载测试工具wrk与这些设置一起使用... wrk -d 10 -c 8 -t 8 http://example:8080/ ...它会在我给它的 10 秒内完成 5 到 8 个请求。如果服务器正在使用我所有的 8 个内核,我预计会有接近 80 个请求的数字。

  3. 当我在 wrk 测试期间打开 Windows 任务管理器时,我观察到我的核心只有一个接近 100% 的使用率,其余的几乎都处于空闲状态。

所以,然后我尝试使用隔离,希望为每个请求手动生成一个新的隔离/线程:

这根本不起作用。它不喜欢我试图将 HttpRequest 作为消息发送给隔离。这是错误:

使用的版本:

  • Dart 编辑器版本 0.5.9_r22879
  • Dart SDK 版本 0.5.9.0_r22879

是否可以使用 Dart 使用我机器的所有可用内核并行处理这些请求?

0 投票
1 回答
316 浏览

dart - 如何使用 Dart 解析表单提交?

我用 Dart 写了一个 HTTP 服务器,现在我想解析表单提交。具体来说,我想处理从 HTML 表单提交的 x-url-form-encoded 表单。我怎样才能用dart:io图书馆做到这一点?