나는 응용 프로그램 시작시 액터 개념이나 아무것도 가지지 않는 메시지 큐를 가지고 있습니다. 큐로부터 메시지를 계속 수신 할 메시지 큐 소비자를 시작하고 싶습니다. 이제 Play 프레임 워크는 모든 웹 소켓 연결에 대해 액터를 만들고 특정 웹 엔드 포인트에 대한 웹 소켓 연결을 유지하는 모든 액터를 그룹화하여 특정 메시지 대기열에서받은 모든 메시지를 브로드 캐스팅 할 수 있기를 원합니다. 주제를 배우들의 그룹에게 제공합니다.Play Framework를 사용하여 특정 웹 소켓 종점에서 액터 목록을 얻는 방법은 무엇입니까?
예를 들어 다음 엔드 포인트는 클라이언트가 아래 엔드 포인트 중 하나에 대한 요청을 시작할 때마다 생성되는 액터를 갖습니다. 그래서 푸우 배우 및 바 배우들. 내가 자바를 사용하여 플레이 프레임 워크의 최신 버전을 사용하고
messages = ReceiveMessagesFromQueue; // This is a live stream and it never stops.
for message in messages:
if message has key1:
List<FooActors> foo_list = getAllFooActors
broadcast(message, foo_list)
else if message has key2:
List<BarActors> bar_list = getAllBarActors
broadcast(message, bar_list)
:
ws://localshost/foo
ws://localshost/bar
https://www.playframework.com/documentation/2.5.x/JavaWebSockets
지금 내가하고 싶은 모든이의사 코드입니다.
[이 해결책] (http://stackoverflow.com/q/25057854/1804173)이 여기에 해당됩니까? – bluenote10
그건 가까이서. 그리고 내 솔루션은 거의 99 % 동일하지만 모든 웹 소켓 종점에 대해 액터 목록을 유지하는 효과적인 방법이 있는지 확인하려고합니다. 배우 그룹 M에게 메시지 A를 방송하고 싶고 배우 그룹 N에 메시지 B를 방송하고 싶습니다. – user1870400