带有Akka的Scala上带有SSL的TCP套接字
使用
Scala 2.10和Akka 2.3.4,我将一个简单的代理服务器放在一起,接受传入的TCP连接,然后将这些消息代理到远程服务器.事情正在使用纯文本,但我坚持使用SSL.
简而言之,这是我为传入连接启动非安全服务器的方式: 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配置它. 您需要重构代码以使用来自喷涂的管道,如果您将代码分成多个阶段,每个负责一小部分,我的经验代码会变得更加容易. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |