Questuion
를받을 수 없습니다.Akka - zeromq 소켓/배우 내가 akka-zeromq를 사용하여 zeromq에서 메시지를 수신하는 간단한 배우를 구현하기 위해 노력하고있어 메시지
import akka.actor._
import akka.zeromq._
class PullActor extends Actor {
def receive = {
case x => println("M: " + x.toString)
}
}
object Main extends App {
val system = ActorSystem("system")
val pullActor = system.actorOf(Props[PullActor], "pull-actor")
val pullSocket = ZeroMQExtension(system).newSocket(
SocketType.Pull, Listener(pullActor), Connect("tcp://127.0.0.1:8008"))
println("Press ENTER to exit")
Console.readLine()
system.shutdown()
}
시스템 인쇄 단지
M: Connecting
추가 정보
메시지를 보내는 것은 내가 눈치 다른 이상한 것은이 때문이다
import zmq
ctx = zmq.Context()
p = ctx.socket(zmq.PUSH)
p.bind("tcp://*:8008")
p.send("test")
간단한 파이썬을 통해 이루어집니다 언제나 누르면 프로그램이 종료되지 않습니다. 파이썬 스크립트를 사용하여 메시지를 보내면됩니다. 여기에 전체 출력 :
[DEBUG] [12/04/2012 18:01:45.175] [main] [EventStream(akka://system)] logger log1-Logging$DefaultLogger started
[DEBUG] [12/04/2012 18:01:45.178] [main] [EventStream(akka://system)] Default Loggers started
Press ENTER to exit
M: Connecting
[DEBUG] [12/04/2012 18:01:54.176] [system-akka.actor.default-dispatcher-2] [EventStream] shutting down: StandardOutLogger started
[DEBUG] [12/04/2012 18:01:54.176] [system-akka.actor.default-dispatcher-2] [EventStream] shutting down: StandardOutLogger started
[DEBUG] [12/04/2012 18:01:54.179] [system-akka.actor.default-dispatcher-2] [EventStream] all default loggers stopped
scalaVersion := "2.10.0-RC3"
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-actor" % "2.1.0-RC3" cross CrossVersion.full,
"com.typesafe.akka" %% "akka-zeromq" % "2.1.0-RC3" cross CrossVersion.full,
"com.typesafe.akka" %% "akka-slf4j" % "2.1.0-RC3" cross CrossVersion.full
)
libzmq
사용은 (아치 리눅스에 대한) 버전 3.2.2
이것은 application.conf
akka {
loglevel = DEBUG
zeromq {
socket-dispatcher {
executor = thread-pool-executor
type = "PinnedDispatcher"
}
}
}
FYI - 나를 위해 일합니다. PULL 소켓이 메시지를받습니다. 죄송합니다. 파이썬을 보내기 전후에 수면을 추가하려고 할 수도 있습니다 (1 초). 배우가 연결 기회를 얻기 전에 바인딩하고 전송하는 경쟁 조건이있을 수 있습니다. –