1

我正在使用 pcap.net。

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

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

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

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

有什么帮助吗??谢谢

4

1 回答 1

0

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

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

于 2013-12-21T06:49:13.367 回答