【发布时间】:2017-02-19 23:05:19
【问题描述】:
我将接收到的数据包从 WinDivert 传递到一个新队列并使用多线程发送/接收数据包,以便我可以为接收到的数据包添加时间戳等。
问题似乎是 WinDivert 停止向队列发送数据包导致网络最终断开。
我已经尝试最大化 WinDivert 队列长度/时间和线程优先级以及重新计算丢失的校验和。
在调试代码时使用 speedtest.net 运行 1-2 次速度测试可以重现该问题。
使用的 WinDivert 包装器:https://github.com/TechnikEmpire/DivertPInvoke
【问题讨论】:
-
当你得到一个对你没有帮助的答案时,编辑它不是正确的答案。相反,投反对票或标记并解释问题所在。
-
除了你的编辑没有以任何方式改善帖子(编辑后它是 100% 非建设性的并且完全不相关),事实上它阻碍了任何人教育该用户对他们的期望是什么。所以不要那样做。编辑适用于难以理解的好答案,如果一开始就不是答案,编辑将无济于事。
-
谁能说出原始发帖人的意图是什么,除了遵守规则对他们来说并不重要?从破窗的角度来看,您的编辑同样糟糕,并且没有做任何事情来帮助更快地删除答案。发表评论以回复答案是确保没有人“认为可以发布”类似内容的正确方法。另外,你为什么坚持将答案称为“评论”?
-
您是否没有看到网站处理您和我正在交换的 cmets 之间的差异,没有反对意见,也没有机会建议编辑,以及 jesuslvr 发布的答案?它被认为是一个答案,因为它是使用“发布您的答案”按钮发布的。这不是一个真正的答案,但称其为评论是错误的。
标签: c# multithreading networking queue