问题标签 [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.
zeromq - 对在 NetMQ 中使用 SendHighWatermark 感到困惑
我正在使用 NetMQ 对我的原型进行测试,特别是我正在学习 HighWatermark 选项的影响。
我已经了解并测试了以下案例:
- 带有 ROUTER 套接字的服务器尚未启动
- 同时带有 DEALER 套接字的客户端正在发送 20 条消息(SendHighWatermark 为 10)
在这种情况下,我看到客户端只能发送 10 条消息,然后它在发送时被阻止。
然后我做了另一个处理速度慢的测试 - ROUTER 在收到每条消息后都会休眠。在这种情况下,我希望 DEALER 快速发送 10 条消息,并延迟发送另外 10 条消息。但 DEALER 会毫无延迟地发送所有消息。
路由器的代码:
经销商代码:
为什么在我的情况下,当处理速度很慢时,经销商可以毫不拖延地发送?
javascript - 在 Javascript 中正确获取对象属性
我目前正在一个大型 Javascript 代码库中工作,代码库中到处都是诉诸异常进行流控制的代码
我可能喜欢条件逻辑,例如相同功能的这种实现
虽然后者感觉冗长,但当然可以编写一个辅助函数来减少此类检查的样板。
前者是 Javascript 的惯用语吗?后者是否脆弱(跨浏览器/场景)并且最好留给try
/catch
无论如何?还是前者只是懒惰的证据?
编辑
这些对象被假定为“普通”对象,var obj = {}
所以我不相信我关心这里的原型链。
java - java - 如何在java中获取UDP的剩余套接字接收缓冲区大小?
我们正在开发基于 UDP 的可靠传输协议。所以为了实现流控制,我们需要知道剩余的缓冲区大小。DatagramSocket 类中似乎没有任何方法可以返回剩余的套接字缓冲区大小。只有一个“getReceiveBufferSize()”方法返回总缓冲区大小。这是不可行的还是我看错了地方?如果那不可行,那么我该如何实现流量控制功能?任何帮助将不胜感激。
c - 计划在c中实现停止和等待算法
我考虑的算法如下。
1) 发送方使用 sendto() 发送数据。
2) 等待接收方的 ACK 包。
3-1) 如果下一个数据包的 ACK 在超时时间内没有到达,则发送相同的数据包。
3-2) 如果下一个数据包的 ACK 到达,则发送下一个数据包。
就像普通算法一样。我想知道的是使用recvfrom() 计算超时并等待ACK 的方法。我首先想到使用线程,但必须有更好的方法。我怎样才能同时处理这两个?我应该使用带有时间相关变量的while语句吗?
spring - Spring websockets tcp -> 流控制接口
我有一个利用 websockets 的 spring boot 应用程序。我已经建立了自己的协议,该协议通过 websockets 以二进制形式传输。现在在那个协议中,在某些事件发生之后,我想使用流量控制来向客户端发出他需要放慢速度的信号。由于我已经在使用 websockets 并且 websockets 正在利用 TCP,我想使用已经在 TCP 中构建的 TCP 流控制机制。我不想自己重新发明轮子。有谁知道我在 Spring 中的 websocket 连接期间如何控制 TCP 窗口大小。即是否有一些特定的接口可以为我提供这种机制?
全部根据 RFC 6455,即使用 Sec-WebSocket-Extensions 标头和 websocket 状态代码。
networking - 不同比特率(时钟率)的两个网络适配器之间的通信
这是问题陈述:
链路具有标称速率:发送方为 4 kbps,接收方为 1 kbps。传播延迟为 20 ms,ACK 大小为 40 字节。对于什么范围的帧大小,停止等待的效率至少为 50%?
我不是要你解决这个问题,但有些事情不合逻辑。
- 如果它们没有相同的比特率或时钟速度,两端应该如何正确解释接收到的帧(和 ACK)?
- 网络适配器的缓冲区在这种情况下是否起作用?
两端具有不同的时钟速度,因此具有不同的比特率。我的结论是两端的时钟不同步。我进一步得出结论,从一端发送到另一端的信号的同步必须在物理层上完成,以便数据链路层具有正确的解释位。
开导我。
loops - 使用 goto 语句显式显示循环中的流控制
我应该采用以下程序片段并使用 goto 语句来显示循环中的流控制:
我意识到应该避免 goto 语句,但这就是问题所要求的。我认为这是应该的,以便通过循环显示流量控制:
这个对吗?我不确定是否在 break 语句之前或之后放置 goto 语句。
if-statement - Prolog 中的正确流控制,而不使用非声明性 if-then-else 语法
我想检查一个任意事实,如果它在知识库中,则做一些事情,如果不在,但没有( I -> T ; E)
语法。
我的知识库中有一些事实:
给定一个不完整的规则
不这样做的正确方法是什么?
javascript - 如何循环promise函数流控制
我是新来使用promise和Q,我确定我做得不对,
请给我一些建议,
我可以fcall
在里面使用fcall
吗?因为有一个 for 循环我想确保每个项目image[i]
处理一个列表承诺函数流..
我需要response
从头到尾,输入到每个promise函数然后传递到下一个流程结束返回客户端,
但我不知道如何处理循环
c# - C# - 使用多种下载方法检查多个 IP 地址
我是这个网站的新手,所以如果我犯了任何格式错误,我提前道歉。让我知道是否需要进一步澄清。
我目前正在使用 C# 编写一个程序,该程序旨在从多个 http 或 ftp 源下载文件。
我希望它通过几个 IP 地址,然后检查几种方法是否可以成功下载已知文件。如果其中一种方法可以成功下载文件,它应该转到下一个 IP 并再次执行相同的操作。
到目前为止,我正在使用一个 foreach 循环,该循环遍历包含 IP 的数组并创建一个名为“IPxx”的文件夹以及一个 FTP 和 HTTP URI,因为我事先不知道哪个 IP 需要 FTP 或 HTTP 地址:
到目前为止一切顺利,达到这个水平的一切都按预期工作。但是,当我需要通过几种下载方法并检查我是否可以成功下载文件时,我会很挣扎,如果不能,它应该转到下一个下载方法并尝试相同的方法。
我想出了以下下载测试方法:
它适用于成功下载的文件,但是如果该方法无法下载请求的文件,我似乎会在此方法中“卡住”。在这种情况下,我希望它跳转到下一个 DownloadMethod 并再次检查,直到检查完所有方法。
此外,如果该程序通过每个 IP 并且无法下载任何内容,我希望它发送一封自动电子邮件。我知道如何实现 EmailMethod,但我又一次遇到了流控制。
我是一个绝对的初学者,不知道如何从这里获得我想要的流量。