我目前正在使用scala / akka使用有状态的基于文本的协议来实现TCP服务器,包括握手和一些来回的字符串来交换数据。
考虑到我从客户端获取ByteString,是什么方法实现解析发送字符串的状态并决定应该发回哪个命令?
我假设它与http://doc.akka.io/docs/akka/snapshot/scala/fsm.html有关,但到目前为止我找不到套接字的例子。
感谢
答案 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模块可能是你想用来实现协议状态的。