从Swift 3调用pcap_循环
我在试着从从Swift 3调用pcap_循环,swift,swift3,libpcap,unsafe,swift3.0.2,Swift,Swift3,Libpcap,Unsafe,Swift3.0.2,我在试着从 pcap_循环(pcapSession,numberOfPackets, { (args:unsafemeutablepointer, pkthdr:UnsafePointer, 数据包:UnsafePointer)->Void in //让我们使用对singleton的调用来处理结果 //我们可以这样保持状态,而不必这样做 //通过将指针传递给非安全指针来进行工具切换 //然后取消引用 设pa=PacketAnalyser.sharedInstance pa.过程() }, 零)
pcap_循环(pcapSession,numberOfPackets,
{
(args:unsafemeutablepointer,
pkthdr:UnsafePointer,
数据包:UnsafePointer)->Void in
//让我们使用对singleton的调用来处理结果
//我们可以这样保持状态,而不必这样做
//通过将指针传递给非安全指针来进行工具切换
//然后取消引用
设pa=PacketAnalyser.sharedInstance
pa.过程()
},
零)
现在它是Swift 3,我不能编译以下错误
无法将类型为“(unsafemeutablepointer,UnsafePointer,UnsafePointer)->Void”的值转换为预期的参数类型“pcap\u handler!”
不太确定如何继续,几乎是从Swift引用C代码的新手。我读过文档,但运气不太好
谢谢
pcap_loop(pcapSession, numberOfPackets,
{
(args: UnsafeMutablePointer<u_char>,
pkthdr:UnsafePointer<pcap_pkthdr>,
packet: UnsafePointer<u_char>) ->Void in
// lets handle the result using a call to a singleton
// we can keep state this way, and not have to
// tool around by passing pointers to UnsafePointers
// and dereferencing later
let pa = PacketAnalyser.sharedInstance
pa.Process()
},
nil)