Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Akka演员搜索和流媒体事件_Scala_Playframework_Akka_Actor_Monix - Fatal编程技术网

Scala Akka演员搜索和流媒体事件

Scala Akka演员搜索和流媒体事件,scala,playframework,akka,actor,monix,Scala,Playframework,Akka,Actor,Monix,我有一个场景,我有一群Akka演员,每个演员代表一个物联网设备。我有一个基于Play的web应用程序,这些参与者在其中运行并连接到这些物联网设备 现在我想通过WebSocket端点将来自这些参与者的信号公开给外部世界。每个参与者都有某种机制,我可以用它来询问最新的信号状态 我的想法是做到以下几点: 在我的控制器中添加一个WebSocket端点,该端点需要需要信号的物联网设备的id。在这个控制器中,我将进行参与者选择,以获取与传入的IoT设备id相对应的参与者实例 使用步骤1中获得的ActorRe

我有一个场景,我有一群Akka演员,每个演员代表一个物联网设备。我有一个基于Play的web应用程序,这些参与者在其中运行并连接到这些物联网设备

现在我想通过WebSocket端点将来自这些参与者的信号公开给外部世界。每个参与者都有某种机制,我可以用它来询问最新的信号状态

我的想法是做到以下几点:

  • 在我的控制器中添加一个WebSocket端点,该端点需要需要信号的物联网设备的id。在这个控制器中,我将进行参与者选择,以获取与传入的IoT设备id相对应的参与者实例

  • 使用步骤1中获得的ActorRef并实例化WebSocketActor

  • 在这个WebSocketActor中,我将实例化一个Monix Observable,它将定期使用actorRef并请求它提供信号

  • 一旦我得到这些信号,我将把它传递到WebSocket端点

  • 现在我的问题是:

  • 如果客户端打开了WebSocket流,一段时间后代表物联网设备的参与者死了,会发生什么。我可能应该在WebSocketActor中处理这种情况。但这会是什么样子呢

  • 如果表示IoT设备的参与者活着回来(假设我设置了一些监控),我可以继续处理在参与者死之前打开套接字连接的客户端吗?我的意思是,客户端是否需要以某种方式再次关闭和打开连接


  • 请问您有什么建议

    如果您希望看到Akka actors+Monix集成示例,通过WebSocket进行通信,请查看该项目


    该代码处理网络故障。如果要在浏览器中加载该示例,请断开网络连接,一旦连接恢复,您将看到网络恢复。

    我将查看它!