2016-07-02 7 views
0

私はスカラ、Playフレームワーク、およびAkkaを初めて使用しています。私は機能スカラのWebSocketでメソッドを呼び出す

def socket = WebSocket.accept[String, String] { request => 
    ActorFlow.actorRef(out => MyWebSocketActor.props(out)) 
    } 

私は他のクラスから呼び出したいこの.Iは私がで働いています

objectName.socket(implict req:RequestHeader) 

ことで、これを呼び出すことはできません、としてこの関数を呼び出す方法は明らかではないよと定義していますPlay 2.5.3、Scala 2.11.7、Akka 2.4.7。

編集:それは私にエラーを与える:'=>' expected, ')' found

+0

を達成したいのか、より詳細に記述することがありますか?あなたのアプリケーションのルートファイルに入るはずです。 – thwiegan

+0

私はそれをapiとして作りたいので、私は他の新しいプロジェクトから接続を受け入れることができます。 –

答えて

1

私はまだその恩恵がどうなるか、わからないんだけど、私はあなたの質問にお答えしようとするでしょう。

まず、暗黙的なパラメータを持つメソッドをどのように呼び出すのか(暗黙的に入力ミスがあります)は、この(objectName.socket(implict req:RequestHeader))ではありません。

しかし、既に正しく指摘したように、暗黙的なRequestHeaderが必要なので、このメソッドはControllerのコンテキスト内でのみ呼び出すことができます。基本的にはソケット実装にanotherControllerActionを指すであろう

DEF anotherControllerAction = objectName.socket

。それでもあなたのルートファイルにanotherControllerActionを置く必要があります。

あなたが実際にあなたがそのメソッドを呼び出すしたいと思うのはなぜ