【发布时间】:2014-01-23 07:28:15
【问题描述】:
如何在回调函数中使用 main() 中创建的对象“communicator”? PacketCommunicator 类没有构造函数。
class Program
{
//public static PacketCommunicator communicator = new PacketCommunicator(); - can't do this; PacketCommunicator constructor doesn't exist
//public static PacketCommunicator communicator = null; - this gives "Object reference not set to an instance of an object"
public static void Main(string[] args)
{
PacketCommunicator communicator = selectedDevice.Open(...)
communicator.ReceivePackets(0, PacketHandler);
}
// Callback function invoked by ReceivePackets for every incoming packet
private static void PacketHandler(Packet packet)
{
communicator.SendPacket(packet);
}
}
我正在使用的库是Pcap.Net。 基本上,我要做的是在一个接口上捕获数据包,对它们执行 NAT,然后在另一个接口上发送它们。
【问题讨论】:
-
使用 lambda 表达式和闭包
标签: c# .net pcap winpcap pcap.net