1

以下のコードの実行中に次のエラーが発生しました。

Object creation impossible, since member nextPacket(PcapPacket,T):void
  in org.jnetpcap.packet.PcapPacketHandler is not defined.

どうすれば解決できますか?

while (true) {
  val jpacketHandler = new PcapPacketHandler[String] {
    def nextPacket(packet: PcapPacket, user: String) {
      val data = new KeyedMessage[String, PcapPacket](topic.toString, packet)
      println(data)
      producer.send(data)
    }
  }
  pcap.loop(50, jpacketHandler, "jNetPcap works!")
}
4

1 に答える 1

0

次のコードは と で正常に動作するようですscala-2.10.4jnetpcap-1.3.0つまり、質問で報告されているようなコンパイル時エラーは表示されません。

import org.jnetpcap.packet.PcapPacketHandler
import org.jnetpcap.packet.PcapPacket

object JPCapExample {

  class KeyedMessage[K, V](k: K, v: V) {
    override def toString() = s"$k -> $v"
  }

  class Producer[K, V] {
    def send(data: KeyedMessage[K, V]) = {}
  }

  def main(args: Array[String]) {
    val producer = new Producer[String, PcapPacket]
    val topic = "SomeTopic"
    val jpacketHandler = new PcapPacketHandler[String] {
      def nextPacket(packet: PcapPacket, user: String) {
        val data = new KeyedMessage[String, PcapPacket](topic.toString, packet)
        println(data)
        producer.send(data)
      }
    }
  }

}

jnetpcap と Scala のどのバージョンが使用されましたか?

于 2014-10-26T11:22:24.853 に答える