使用scala / akka实现有状态协议

时间:2013-07-19 22:58:42

标签: sockets scala tcp io akka

我目前正在使用scala / akka使用有状态的基于文本的协议来实现TCP服务器,包括握手和一些来回的字符串来交换数据。

考虑到我从客户端获取ByteString,是什么方法实现解析发送字符串的状态并决定应该发回哪个命令?

我假设它与http://doc.akka.io/docs/akka/snapshot/scala/fsm.html有关,但到目前为止我找不到套接字的例子。

感谢

1 个答案:

答案 0 :(得分:0)

您可能希望先在管道处获取正确的字符串框架,编码/解码和背压:http://doc.akka.io/docs/akka/2.2.0/scala/io-codec.html

TCP部分中有一个使用管道的简单示例:http://doc.akka.io/docs/akka/2.2.0/scala/io-tcp.html#Usage_Example__TcpPipelineHandler_and_SSL

(不要混淆它使用SSL,你可以把那部分留下来)

是的,FSM模块可能是你想用来实现协议状态的。