错误、漏洞、问题 - 页 2378

 
Renat Fatkhullin:

1.这是接口。

TLS函数是辅助性的,以支持复杂的情况。设置SocketTimeouts没有问题--这些是最好用的。


2.它正确地履行其职能。

显然,你没有意识到检测中断的TCP连接的问题。要检测一个连接是否保证正确断开是相当困难的(以额外调用为代价的资源密集)。所有的网络实施都存在这个问题。

我们对SocketIsReadible的实现足够聪明,有一个中断检测器。当它检测到一个干净的0字节时,它会做额外的工作来检查套接字是否完整。

因为它返回的是没有终止标志的字节数,所以它输出1个字节,这样后续/即将进行的SocketRead读取尝试通常会返回一个错误。

为什么这是对的?因为大部分的代码都是程序员用这种方式写的。

操作的实际结果是在直接读取尝试中检查的。


3. 如果你不知道要读的数据的确切大小,它需要在实际读取之前做SocketIsReadible()。

SocketisReadible/SocketRead绑定使你能够不失去对程序执行流程的控制(最小化到几乎零损失)。这就避免了飞入网络超时。

是的,多了几行代码,但你不会失去一毫秒的控制权(大致如此)。在没有网络数据的间隙,由你来决定做什么。


4. 在第二段中解释。

为了读取刺激而发出1,并作为读取错误输出。



你的结论是错误的。

这就是TCP/IP传输的本质,根本没有任何保证。当没有TCP信令部分时,你也可以在过滤器/防火墙上进入网络黑洞。原始超时和数据流控制允许你检测它们并自行终止连接。

我们已经给了网络功能一个原始/直接访问的接口,包括TLS的实现。如果你使用它们,你需要在安全/受控的SocketIsReadible/SocketRead处理程序中正确包装原始函数。

如果你想在不考虑细枝末节的情况下提出高级请求,有WebRequest 函数。所有的保护措施都内置在那里。

非常感谢您提供的答复。

不过以我的愚见。
1.如果SocketRead和SocketTlsRead函数执行相同的动作,那么它们应该有相同的适应性接口,通过各种方式。

2.A. 是的,我不知道关于TCP连接中断检测的问题。
b) SocketIs*函数,根据函数命名建议,应该产生True/False的结果,而不是uint;(你在哪里读到的? 如果我没记错的话,是在Scott Meyers 2014年的作品中)。
c) 谢谢你解释为什么SocketIsReadible可以在根本没有建立TCP连接的情况下返回1(事先没有互联网或域名没有添加到允许的列表中)。
请在文件中也添加适当的描述。

3,4) 明白了,谢谢。

 

大家好。

请帮助解决MT5测试器1940版的问题--不计算利润。我有3个版本的MT5(来自经纪商和从制造商的网站下载),安装在不同的电脑上,所有的结果都是一样的 - 不计利润,不工作测试和优化。

我录制了一段视频来说明。


 

K-Meleon 不显示信息中的文字

K-Meleon :: Главная
K-Meleon :: Главная
  • kmeleon.geckoworld.ru
На этой неделе суммарное число загрузок всех версий Pro-сборки K-Meleon (75-76 Pro) по официальным ссылкам превысило 100 000! Конечно не каждая загрузка - это новый пользователь, но ведь наш браузер раздается и на торрентах, а также разошелся по другим площадкам, откуда его тоже качают. Таким образом, мы можем уверенно говорить о том, что наше...
 
fxsaber:

K-Meleon 不显示信息中的文字

这是一个死的浏览器,可能没有必要试图让它工作......

 
Vladimir Pastushak:

它是一个死的浏览器,所以可能没有必要在它上面做文章...

它对资源的要求不高。

 
fxsaber:

它对资源要求不高。

是的,你可以看到,我已经在一些网站上试过了,它有很多问题...

试试Vivaldi测试版,方便、快捷,有很多设施,有很多设置,支持chrome应用....。

 
当我试图在kodobase中更新我的脚本时,我只得到一个错误
main file not found

唯一的MQ5文件是在这个路径中

MQL5\Scripts\fxsaber\

如何解决这个问题?


SZZ显示 "经版主验证 "的状态。

我把mq5文件放在脚本中--同样的反应。
 
fxsaber:
当我试图在kodobase中更新我的脚本时,我只得到一个错误

唯一的MQ5文件是在这个路径中

如何解决这个问题?


SZZ显示 "经版主验证 "的状态。

SZY 我把mq5-文件简单地放在Scripts里--同样的反应。
不要在路径中写入你的文件夹。
 
Vladimir Karputov:
不要在路径中写入你自己的文件夹。

选择 "默认 "选项是有效的。但只有这个选项是错误的。

把所有的脚本放在一个文件夹里是非常不合理的。至少应该按子文件夹进行系统化。

 
fxsaber:

选择 "默认 "选项是有效的。但只有这个选项是错误的。

把所有的脚本放在一个文件夹里是非常不合理的。至少应该按子文件夹进行系统化。

我最近刚问过个别文件夹的情况,答案是:"都在一堆",还不会改变。
如果我非常需要它的内联,我就在文件名中加上 "KVN"。
原因: