2014-06-08 3 views
2

Javascript 클라이언트 (주로 스마트 폰)에서 vertx eventbus를 사용하고 싶습니다. 내 문제는 내가 전화를 대기 상태로 보낼 때 이벤트 버스가 몇 초 후에 연결이 끊어지고 깨어 난 후에 다시 연결되지 않는다는 것입니다. eventbus onclose()에서 다시 연결하려고 시도하지만 항상 작동하지는 않습니다. 어떤 아이디어? 대신 루프에서 다시 연결을 시도하지 않는 이유, 한 번만 다시 연결을 시도Vertx 이벤트 버스 다시 연결

답변

1

: 위의

eventBus.onclose = function { 
while(state != vertx.EventBus.OPEN) { 
    setInterval(function(){ 
     // Recreate an eventbus object and re-register all callbacks included this one 
     initialiseEventbus() 
    },3000); 
} 
} 

는 가장 우아한 해결책이 아니라,하지만 불행히도 호출 할 연결 (재) 방법이 없다 vertxbus.js 또는 기본 자동 재 연결 전략이 아닙니다. 그건 안타까운 일이지만, dev 팀이이 티켓을 기꺼이 받아 들일 것이라고 확신합니다.

1

이 기능은 vert.x의 작동 버전에 추가되었지만 아직 공식적으로 제공되지는 않았습니다. 그러나 vertx-eventbus.js을 가져 와서 사용할 수 있습니다

https://github.com/vert-x3/vertx-web/pull/660

당신이 예와 EventBus를 초기화 한 후 var eb = new EventBus("/eventbus");의 경우 eb.enableReconnect(true);

과 함께 사용하도록 설정할 수 있습니다.