Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
akka zeromq-订阅者不接收消息_Akka_Zeromq_Subscriber - Fatal编程技术网

akka zeromq-订阅者不接收消息

akka zeromq-订阅者不接收消息,akka,zeromq,subscriber,Akka,Zeromq,Subscriber,我正在使用scala中的akka zeromq编写这个简单的hello-world类玩具程序。我的订户似乎没有收到任何消息。我从publisher的receive方法中看到了publisher发布的消息,但仅此而已。有人能帮我让这个程序工作吗 先谢谢你 import akka.util.ByteString import akka.zeromq._ import akka.actor._ import scala.concurrent.duration._ import scala.concur

我正在使用scala中的akka zeromq编写这个简单的hello-world类玩具程序。我的订户似乎没有收到任何消息。我从publisher的receive方法中看到了publisher发布的消息,但仅此而已。有人能帮我让这个程序工作吗

先谢谢你

import akka.util.ByteString
import akka.zeromq._
import akka.actor._
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits.global


class Sub extends Actor{
  def receive  = {
    //case m:ZMQMessage if m.frames(0).utf8String == "hello" => println(m.frames(1).toString())
    case m:ZMQMessage => println("************* from subscriber *****************") //;println(m.frames(1).toString())
    case ss :String => println (" ---- some string appeared ")
    //case _ =>
  }
}


class Pub extends Actor{

  //creates a publisher socket bound to host at port 1235
  val pubSocket = ZeroMQExtension(context.system).newSocket(SocketType.Pub, Bind("tcp://*:1235"))

  def receive={
    case msg:String =>
      println(s"Got Message $msg")
      pubSocket ! ZMQMessage(ByteString("hello"), ByteString("this is test message"))
  }
}

object main extends App {

  println("Starting App.")

  val system = ActorSystem("system")

  val subActor = system.actorOf(Props[Sub])
  val pubActor = system.actorOf(Props[Pub])

  // sockets are created using ZeroMQExtension
  // creates a subscriber socket
  val subSocket = ZeroMQExtension(system).newSocket(SocketType.Sub, Listener(subActor), Connect("tcp://*:1235"), SubscribeAll)

  system.scheduler.schedule(1 seconds, 0 minutes)(pubActor ! "Message to Pub")

  println("Exiting main.")
}