2016-02-25 34 views
2

我使用akka http 2.0.3的應用程序,並希望使用網絡套接字。我希望能夠將消息從服​​務器推送到客戶端,而不必先收到消息。所以,我在查看UpgradeToWebsocket特質,看起來像使用'handleMessagesWithSinkSource'將是正確的。現在,爲了推送消息,我希望將一個actor連接到傳遞給'handleMessagesWithSinkSource'方法的源。然而,當使用'Source.actorRef'方法時,似乎只有在流程運行時纔會生成actor,這將在'handleMessagesWithSinkSource'方法內部生成。通過網絡套接字與akka http推送郵件

所以,我的問題是,如何推送消息到網絡套接字通道,最好通過演員?

回答

3

發現,有可能將一個ActorPublisher傳遞到源:

Source.fromPublisher(ActorPublisher(myActorPublisher) 

這種方式,發佈者首先實例化並然後被傳遞到源,然後將其傳遞到「handleMessagesWithSinkSource」