![]() |
1
7
这很难。导致这种情况的防病毒功能试图防止浏览器中运行的恶意代码将您的个人数据上载到远程服务器。为此,反病毒程序尝试在所有传出流量到达网络之前对其进行缓冲,并对其进行扫描以查找预定义的字符串。 当应用程序在套接字上发送一个完整的http请求时,这就起作用了,因为反病毒程序看到http请求的结尾,知道它可以停止扫描并发送数据。 在您的例子中,可能只有一个没有长度字段的头,所以除非您发送足够的数据来填充防病毒缓冲区,否则不会向网络写入任何内容。 如果这不是关闭特定功能的好理由,我不知道是什么。我和Avast和McAfee碰到过这个问题——在这一点上,反病毒行业的其他人可能正在做类似的事情。具体来说,我是用McAfee的个人信息保护功能遇到这个问题的,据我所知,这个功能实在是太麻烦了,无法使用。 如果可以,就继续在套接字上发送数据,或者在具有长度字段的http消息中发送数据。据我所知,我试着向几家反病毒供应商报告这件事,其中一家已经修复,另一家没有。 当然,这种功能是完全无用的。恶意应用程序要想绕过它,只需在发送数据之前将其旋转13。 |
![]() |
2
3
尝试使用https而不是http。也有拦截https的扫描器,但它们不太常见,上次我检查时,该功能默认为关闭。当激活时,它也破坏了firefox ssl的连接,所以我认为很少有人会激活它,而且供应商很可能会终止这个功能。 |
![]() |
3
0
问题是无法按顺序扫描某些文件-需要以后的部分才能确定以前的部分是否是恶意的。 所以扫描器对传输数据的通道有问题。我怀疑您的数据流是否能够被识别为干净的文件类型,因此扫描仪正在尝试尽可能扫描数据,我猜在扫描过程中会阻止您的数据流。 我只能建议在小事务中进行数据传输,并且只使用comet连接进行通知(在单个通知之后关闭每个通道)。 |
![]() |
4
0
如果对web请求使用非标准端口,则可以解决此问题,还有许多其他问题,即许多浏览器都会认为这是跨域的。不知道我是否有更好的建议。这实际上取决于AV程序如何截获给定端口的流量。 |
![]() |
5
0
我想你会被迫断开连接重新连接。如果连接在中断情况下断开,您的代码会怎么做?我也曾遇到过类似的防火墙问题。代码必须检测到断开连接,然后重新连接。我喜欢分解数据传输的答案。 |