2012-06-23 4 views
0

나는 websocket-chat 예제를보고있다. 그다지 공개하지는 않지만 여전히 뭔가를 얻을 수는 없습니다. 웹 페이지에서 메시지를 수신하고 처리하고 전송하는 방법을 이해합니다.Play는 특정 websocket 메시지를 어떻게 인식합니까?

그러나 Play는 Akka 배우의 receive 메서드를 사용하여 websocket 메시지를 캡처합니다. websocket-chat에는이 방법에 몇 가지 사례가 있지만 어떤 웹 소켓 메시지를 어떤 경우에 매핑해야하는지 어떻게 알 수 있습니까? 실제로, 나는 웹 소켓 메시지가 Play 도메인에 들어갈 때 따라 오는 경로, 어떻게 처리되는지 그리고 웹 페이지에서 다른 메시지 유형/종류를 전송할 수있는 방법을 이해하지 못합니다.

이 항목에 관련된 정보 나 출처를 찾을 수 없습니다. 누군가가 이것을 설명하거나 좋은 참고 문헌을 가리킬 수 있었습니까?

UPDATE :

The link to the original example.

+0

일부 코드를 표시하십시오. –

+0

@nico_ekito 아직 어떤 코드도 작성하지 않았고, 아주 기본적인 예제를 공부하는 데 막혔습니다. websocket 채팅 응용 프로그램의 예제는 Play 프레임 워크의 표준 패키지에 포함되어 있습니다. 다운로드하여 설치하면 실행시킬 수 있습니다. 또한 온라인에서도 구할 수 있으며 원본 게시물의 업데이트를 참조하십시오. – noncom

+0

하지만이 코드의 어떤 부분을 이해하지 못합니까? 컨트롤러? 배우 ? –

답변

2

샘플의 receive method에는 Play Websocket API에 대한 링크가 없습니다. 이 수신 방법은 Akka 라이브러리에서 제공됩니다.

웹 소켓 이벤트는 managed through an Iteratee이며, 이는 액터 시스템에 Talk 메시지를 작성하여 전송합니다.

간단히 말해서 "근로자"간에 메시지를 보내 확장 성이 뛰어난 시스템 (비 차단)을 허용합니다.

그래서 Actor model in the Akka library을 살펴 보시기 바랍니다.

+0

오, 당신을 지적 해 주셔서 감사합니다! 대답의 두 번째 단락은 바로 그것입니다! 이 소스의 62 행에 들어있는 모든 수신 메시지에 대한 반응이 정의되며,이 응답에서 모든 메시지는'Talk' 클래스 인스턴스에 매핑됩니다. 그리고 'Quit' 이벤트를위한 특별한 브랜치가 있습니다. 나는 배우를 꽤 잘 이해하지만 어떻게 든 그 iteratee 것을 놓쳤습니다. 이제 나는 완전히 이해하고, 인내와 설명에 감사드립니다. :) – noncom

관련 문제