简而言之,这是我为传入连接启动非安全服务器的方式:
val server = system.actorOf(Props(new LegacyTCPServer), name = "my-tcp-server") implicit val bindingTimeout = Timeout(1.second) import system.dispatcher // execution context for the future val boundFuture = IO(Tcp) ? Tcp.Bind(server, endpoint) boundFuture.onSuccess { case Tcp.Bound(address) => println("Fantastic! We have a connection: " + address) }
我可以通过telnet连接到这个服务器,但是现在我想将no移到opensl.我想必须有一些配置选项,但我似乎无法从文档解析它:http://doc.akka.io/docs/akka/2.3.4/scala.html
我已经看到了一些使用TCPPipelineHandler的akka 2.2.x的(非功能性)示例,例如,
https://groups.google.com/forum/#!topic/akka-user/auErrrk9wS0
https://github.com/betehess/ping-pong-bot/blob/master/app/ircbot/IrcClient.scala#L183
但是在akka 2.3.x中似乎不存在TCPPipelineHandler,所以感觉就像死路一条.
如果有人可以提供一个如何使用当前版本的Scala& amp;来提供在ssl上设置tcp套接字的示例,我会很高兴.阿卡.
如果您想了解更多信息,请与我们联系.谢谢!
spray是建立在Akka IO之上的HTTP服务器/客户端.在“io.spray”%“spray-io”%“1.3.1”包中有一个pipelining infrastructure和SslTlsSupport.我在一个项目中使用它,我正在努力.有关详细信息,请参阅如何在喷涂中为HttpServerConnection配置它.
您需要重构代码以使用来自喷涂的管道,如果您将代码分成多个阶段,每个负责一小部分,我的经验代码会变得更加容易.
精彩评论