Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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
Java 如何使用WebSocket.withActor()将参数传递给参与者_Java_Playframework_Websocket_Akka - Fatal编程技术网

Java 如何使用WebSocket.withActor()将参数传递给参与者

Java 如何使用WebSocket.withActor()将参数传递给参与者,java,playframework,websocket,akka,Java,Playframework,Websocket,Akka,这是使用参与者处理WebSocket的默认方式(根据Play docs)。我的问题是: 如何将参数传递给这个新创建的绑定到套接字的参与者,即,我想从控制器向ChatNode的构造函数发送一些信息作为参数?您可以使用lambda实现此目的,下面是一个快速示例: // code in controller LegacyWebSocket tt = WebSocket.withActor(ChatNode::props); // ... // chatnode actor code public

这是使用参与者处理WebSocket的默认方式(根据Play docs)。我的问题是:
如何将参数传递给这个新创建的绑定到套接字的参与者,即,我想从控制器向ChatNode的构造函数发送一些信息作为参数?

您可以使用lambda实现此目的,下面是一个快速示例:

// code in controller
LegacyWebSocket tt = WebSocket.withActor(ChatNode::props);
// ...


// chatnode actor code
public class ChatNode extends UntypedActor {

public static Props props(ActorRef out) {
    return Props.create(ChatNode.class, out);
}

private final ActorRef out;
private String username;

public ChatNode(ActorRef out, String username) {
    this.out = out;
    this.username = username;
}
公共LegacyWebSocket套接字(字符串令牌){
返回WebSocket.withActor(actorRef->WSActor.props(actorRef,token));
}
public LegacyWebSocket<String> socket(String token) {
    return WebSocket.withActor(actorRef -> WSActor.props(actorRef,token));
}