2014-02-28 46 views
0

说我正在使用C++中的RECV函数从TCP捕获数据。Wireshark Sniffer vs TCP接收

我可能听起来很愚蠢,但我想知道如果我通过一个简单的嗅探器(也许使用PCAP)捕获数据包并处理它,我会得到任何加速吗?

谢谢

回答

0

不,它可能不会加快速度;
我宁可期望它更慢,更耗内存
(开销,开销,开销...)。

此外,它根本不工作。
a)如果没有实际的客户端
,则与对等端建立适当的连接,则不会交换有效载荷。
b)如果存在连接,并且您仅依靠嗅探器
未正确接收客户端中的有效负载,则将在一定数量的数据后停止整个传输。
(因为缓冲区已满,发送者不会再发送,直到有空间再次发送)。
c)这意味着你必须调用recv,这使得嗅探首先是无用的。

+0

谢谢。我正在考虑以不同的方式使用。除非我加快速度,否则我可以负担得起双向阅读。我以为我也会从一个懒惰的线程读取recv函数,我将使用主线程中的嗅探器。正如你所建议的那样,这似乎是一个坏主意,因为开销。 – user3260595