问题标签 [flow-control]
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.
java - Jssc 流控制 Xon
我正在将 Jssc 用于基于 arduino 的应用程序。它工作得很好。我可以发送和接收。但是我遇到了 XonXoff 流控制的问题。
收到 Xoff 字符后,Jssc 会自动停止发送吗?
当然,我用
还是我必须在自己的应用程序中收听接收到的数据,并自己观察 Xon 和 Xoff,然后停止发送?
就我而言,尽管启用了流控制,但 Xon 和 Xoff 字符似乎进入了串行事件 RXCHAR。我的软件中确实收到了 Xon 和 Xoff 字符。这是正常的吗?这与USB转COM驱动程序有关吗?
我在 Windows 7 下运行,Arduino 连接为 USB。
谢谢,
java - Java Netty setAutoRead
调用处理程序链时,Netty 4(或 5)是否继续读取?就像在后台读取并填充一个巨大的队列并在处理程序链完全准备好后处理所有读取?
我问是因为我想将传入缓冲区保存到文件中,但文件被阻塞,如果传入消息多于硬盘驱动器可以处理的消息,这些消息会排队还是阻塞事件只会阻止事件队列读取更多消息? 在发送端,我使用FileRegion
了对作者的流量控制。
我查看了源代码,但我不完全确定它们是如何ChannelInvokers
工作的,似乎如果没有指定一个默认值,则使用eventLoop.next()
.
如果有人可以帮助我确保我没有引入潜在的流量控制错误,那就太好了......
我看到了这个选项setAutoRead
,但我很确定这会有所不同。
c# - 在 C# 中,基于解析输入字符串来控制流的最佳方法是什么
我正在构建一个控制台应用程序来帮助加快我经常做的一些事情。我有一个包含 4 个程序选项的菜单,它们可以转化为我课堂上的不同方法。
基本上是这样的:
你想让我做什么?
1 这东西
2 那件事
3 一些东西
4 很酷的东西
0 所有的东西。
输入命令字符串:_
目前我正在检查有效输入:
然后通过以下方式控制流量:
目标是提供输入并运行一个或多个进程,如下所示:
1:这件事()
13 : thisThing() 和 someStuff();
42 : thatThing() 和coolStuff();
0:运行我定义的所有进程。
有没有办法通过更好的做法来做这样的事情?
javascript - 在 Node.js Nimble flow.parallel 控制中使用公共变量
我有以下代码:
出于某种原因,在最终的 flow.parallel 回调中callback(resultList)
,我将 resultList 设为空。
我已经检查是否resultList.push(result)
成功地将结果添加到 resultList 数组中。
我认为问题是我无法弄清楚的一些小细节。
有人能帮我吗 ?
问候。克莱森里奥斯。
tcp - TCP 的动态正确大小调整
我想测试带有和不带有动态调整大小的 tcp 的性能。在此链接中,存在内核2.4.23和 2.4.8 的补丁,但没有提及更高版本的内核。我想知道它是否在更高版本中默认实现,或者是否有任何补丁可用于更高版本的内核。
tcp - 使用 TCP 确定接收对象的时间
我想弄清楚的问题是:
在这个问题中,我们考虑 TCP 慢启动阶段引入的延迟。考虑通过一个速率为 R 的链路直接连接的客户端和 Web 服务器。假设客户端想要检索大小正好等于 15S 的对象,其中 S 是最大段大小 (MSS)。将客户端和服务器之间的往返时间表示为 RTT(假设为常数)。忽略协议头,确定何时检索对象(包括 TCP 连接建立)时
- 4S/R > S/R + RTT > 2S/R
- 8S/R > S/R + RTT > 4S/R
- S/R > RTT
我已经有了解决方案(这是教科书上的问题),但我不明白他们是如何得到答案的。
- RTT + RTT + S/R + RTT + S/R + RTT + 12S/R = 4 · RTT + 14 · S/R
- RTT + RTT +S/R + RTT +S/R + RTT +S/R + RTT + 8S/R = 5 · RTT + 11 ·S/R
- RTT + RTT + S/R + RTT + 14S/R = 3 · RTT + 15 · S/R
这是与答案相关的图像:
哪种对我有意义:每种情况都是 RTT 时间多于或少于传输一定数量段所需时间的情况。因此,对于第一个,每个 RTT 需要 3S/R 到 S/R 秒。从那里我不明白慢启动是如何运作的。我认为它只会增加每个确认数据包的窗口大小。但是,例如在#1 的解决方案中,似乎只有两个数据包被发送和确认,而窗口大小却跳到 12S?我在这里想念什么?
javascript - WebRTC DataChannel 流/控制/背压
RTCDataChannel API 不提供任何类型的流/控制或背压,这是否意味着发送方理论上可以使接收方的浏览器崩溃?在我看来,浏览器(Chrome、Firefox 等都在后台使用 SCTP)从 SCTP 连接中读取数据并安排运行 js-callback 来消耗数据包。如果事件队列跟不上发送者的速度,浏览器基本上会不断地读取数据包,同时将数据包存储在一个无限增长的缓冲区中。因此,当您连接两个浏览器时,发送方实际上总是可以压倒另一个,因为没有 TCP 接收窗口或类似的障碍。
这也适用于 websocket api。
我只是错过了一些东西还是这些 API 只是坏了?如果我是对的,那么在与未经身份验证的浏览器交谈时(例如在洪流场景中),这将是一个严重的安全问题。
vba - 关于速度,嵌套的“if”和使用“if x and y and z and ..”之间有区别吗?
我有一个简短的问题。VBA之间有什么区别吗
和
关于速度?
更具体地说:我有 10 列数据,需要逐行比较数据库中重复的数据(在这种情况下,像 SELECT DISTINCT 这样的东西不起作用)。
我可以想象,使用
会比
因为我不必从记录集中读取所有数据。还是 ifs 的数量会扼杀这种速度优势?
tcp - 流量控制实现——如何
我正在使用 TCP/IP(使用 FreeRTOS + LwiP)发送 1k 数据。从文档中我了解到 TCP/IP 协议在其堆栈本身内部有其流量控制,但这种流量控制取决于网络缓冲区。我不确定如何在下面描述的我的场景中处理这个问题。
使用 TCP/IP 从 wifi 接收 1k 大小的数据(此数据速率为 20Mb/s)
接收到的Wifi数据放入一个10k size10块的队列中,每个块的大小为1K
从队列中取出每个块并以 1Mb/s 的较低速率发送到另一个接口
那么在这种情况下,我是否必须在来自 wifi <-> 队列的数据之间手动实现流控制?我怎样才能做到这一点?
networking - 传输层的流量和错误控制
据我了解,在传输层和数据链路层都采用了流控制和错误控制。如果数据链路保证了数据包的无差错传送,那么传输层会捕捉到什么样的错误呢?
另外,在 TCP 中处理的 UDP 中可能会发生什么样的错误?