2013-03-21 1 views
1

Vert.X를 사용하는 SockJS가 제공하는 개인 채팅으로 앱을 만들고 싶습니다. 나는 SockJS의 한계를 빨리 깨달았는데, 그 이유는 단순한 API와 멀티플렉싱이 대답이 아닌 것 같기 때문이다 (참조 : https://groups.google.com/d/topic/sockjs/cO7lnH07RCE/discussion).SockJS EventBus Bridge는 비공개 채팅을 작성하는 데 적합한 도구입니까?

EventBus Bridge가 올바른 도구일까요? 각 클라이언트는 고유 주소에 바인딩되며 VertX 서버는 이에 응답하거나 인식되지 않으면 기본적으로 무시합니다.

EventBus Bridge의 의도입니까?

SockJSBridge가 시작되면 허용 규칙을 변경할 수 있습니까?

인바운드 규칙 "match"에 무작위 토큰 (UUID?)을 추가하여 세션 작동 방식을 시뮬레이션 할 수도 있습니다.

이것은 합리적입니까? 또는 이것은 격렬하게 사용 되었습니까?

답변

2

EventBusBridge를 사용하면 클라이언트 (SockJS를 통한 브라우저)가 EventBus의 다른 가입자와 대화 할 수 있습니다. 즉, 서버 측 서비스 또는 다른 클라이언트와 직접 메시지를 보낼 수 있습니다.

브리지의 허용/방화벽 규칙을 동적으로 변경할 수 없습니다. 그러나 정규 표현식과 UUID를 사용하면 채팅을 아주 쉽게 구현할 수 있습니다. 예를 들어 보겠습니다.

서버가 주소 chat-server에서 수신 대기합니다. 브리지의 아웃 바운드 설정은 { "address_re" : "chat-clients\..*" }으로 설정됩니다. 모든 클라이언트는 chat-clients.<some_UUID_for_this_client>에 처리기를 등록하고 클라이언트에게 지정된 메시지를 등록 된 주소로 보내도록 서버에 지시합니다.

우리는 chat module in Scala을 작성했으며 참조 용으로 사용할 수 있습니다.

관련 문제