【问题标题】:Continue capture after break with pcap.net与 pcap.net 中断后继续捕获
【发布时间】:2014-01-05 12:15:34
【问题描述】:

我正在使用 pcap.net。

我有一个接收数据包的通信器。 在某些时候,我调用 Break() 函数来停止捕获。 在我停止捕获后,我想在某个时候继续捕获..

我再次尝试使用 RecievePackets(HandlePacket, 0),但我的 GUI 冻结了。 我的代码:

private void StartCapture()
{
    _Communicator.RecievePackets(HandlePacket, 0);
}

private void StopCapture()
{
    _Communicator.Break();
}

有什么帮助吗? 谢谢

【问题讨论】:

    标签: capture pcap.net communicator


    【解决方案1】:

    我没有看到您的 GUI 代码,但 ReceivePackets() 是一个阻塞调用,会保留您的线程。

    如果您在 GUI 线程中执行此操作,它将冻结您的 GUI。您应该在不同的线程中执行此操作。

    【讨论】:

    • 我不是从我的 GUI 线程中执行此操作的。我第一次开始捕捉它的工作原理。然后我打破了捕获。在此之后。我再次尝试 _Communicator.RecievePackets(HandlePacket, 0) 并冻结 GUI 和所有内容。所有这些都不是从 GUI 线程完成的。有什么帮助吗??
    • 我建议用不同的无限循环替换对 ReceivePackets() 的调用。无论 Pcap.Net 功能如何,这都将允许您对其进行调试。
    猜你喜欢
    • 2011-07-30
    • 2011-09-16
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2011-02-07
    • 2010-09-05
    相关资源
    最近更新 更多