2014-07-10 5 views
1

Я пытаюсь реализовать приемник для SPARK 0.9. Я захватил пакеты, используя библиотеку Jnetpcap, и вам нужно передать ее в Scala. Достаточно ли написать часть захвата пакета в методе «def receive()»?Реализация приемника в SPARK

Edit: Вот код из this link, который захватывает пакеты с использованием библиотеки Jnetpcap:

import java.util.Date 
import java.lang.StringBuilder 
import org.jnetpcap.Pcap 
import org.jnetpcap.packet.PcapPacket 
import org.jnetpcap.packet.PcapPacketHandler 

object PacketCapture1 { 
    def main(args: Array[String]){ 
    val snaplen = 64 * 1024 // Capture all packets, no trucation 
    val flags = Pcap.MODE_PROMISCUOUS // capture all packets 
    val timeout = 10 * 1000 
    //val errbuf = new StringBuilder() 

    val jsb = new java.lang.StringBuilder() 
    val errbuf = new StringBuilder(jsb); 
    val pcap = Pcap.openLive("eth0", snaplen, flags, timeout, errbuf) 
    if (pcap == null) { 
     println("Error : " + errbuf.toString()) 
    } 
    println(pcap) 
    val jpacketHandler = new PcapPacketHandler[String]() { 

     def nextPacket(packet: PcapPacket, user: String) { 
     println("Received packet at %s caplen=%4d len=%4d %s\n", new Date(packet.getCaptureHeader.timestampInMillis()), 
      packet.getCaptureHeader.caplen(), packet.getCaptureHeader.wirelen(), user) 
     } 
    } 
    pcap.loop(30, jpacketHandler, "jNetPcap works!") 
    pcap.close() 

    } 
} 

Как реализовать искровой приемник для пакетов, захваченных с помощью этого кода?

+0

Я предлагаю вам включить соответствующие примеры кода и обеспечить более четкое описание того, что вы пытаетесь достичь. –

+1

Вот ссылка на код scala, который захватывает пакеты с использованием библиотеки Jnetpcap: https://github.com/swe0523/PacketCapture-in-Spark/blob/master/src/main/scala/PacketCapture1.scala Как реализовать искровой ресивер для пакетов, захваченных с использованием этого кода? – user3823859

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^