繁体   English   中英

在Scala中无法创建对象

[英]Object creation impossible in scala

执行以下代码时出现以下错误。

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!")
}

以下代码似乎可以在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?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM