在 Rebol 3 中启动异步 IO 事件系统的常用方法是在端口上等待。为了检查超时,方案中的一个值被添加到等待 block 。
wait [port timeout]
但是小电子邮件的默认超时可能不适用于多兆字节的文件。
处理此问题的最佳方法是什么?如果您仍在接收数据,是否可以在脚本接收数据时更新等待列表,以免不必要地超时?
最佳答案
我认为端口超时应该基于数据包计时触发,而不是完整请求。因此,将电子邮件的超时设置为 30 秒意味着您在 30 秒内没有收到数据包。
由于数据包往往很小,它们到达的速度很快,长时间未收到数据包将表明网络/服务器出现故障,您需要在此处获得超时。 (异常(exception)情况是发生数据包聚合时,但仍然不会有太多聚合,通常会出现长时间延迟。)
综上所述,我不确定它们是否在 R3 中实现。根据之前的评论,我想不会。网络系统是我为 R3 编写的第一批部分之一,它精简而简陋,但肯定需要一些注意。
关于networking - 如何处理 Rebol 3 方案中的超时时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14555961/