2013-07-23 5 views
3

우리 프로젝트에서 우리는 서버에 연결할 수있는 최상의 프로세스가 무엇인지 파악하려고합니다. 특히 오프라인/온라인 시나리오 처리 등.IBM Worklight - 연결/재 연결 : WL.Client.connect 대 connectOnStartup 대 WL.Client.invokeProcedure

지금 우리에게는 WL 서버에 연결하는 세 가지 옵션이 모두 비슷한 것처럼 보입니다. 우리가 사용하는 옵션은 무엇이든간에 어댑터 프로 시저를 완벽하게 호출 할 수 있으며 콘솔에 설정된 알림 메시지를받습니다. 직접 업데이트에 대해 확실하지 않습니다. 아직 제대로 작동하지 않습니다.

WL 서버에 연결하는 세 가지 방법간에 중요한 차이점이 있습니까? 아니면 세 가지 경우 모두 기본적으로 동일한 연결 절차가 실행됩니까?

연결하기 전에 WL.Client.init()은 어떻습니까? WL.Client.connect를 사용하여 수동으로 연결하기 전에 코드에서 표준 윈도우로드 EventListener와 함께 다시 호출 할 수 있습니까? 아니면 init () 한 번만 부르는 거라고?

또한 오프라인 상태이며 다시 연결됩니다. 자습서를 읽은 경우 WL 클라이언트 프레임 워크가 연결 상태를 관리하고 있습니다. WL 클라이언트가이 세 가지 방법 중 하나를 통해 서버에 연결되고 WLAN/3G/4G 연결이 끊어 지거나 인터넷 연결 차단기로 인해 WL 서버에 액세스 할 때 연결이 자동으로 다시 연결될 때 (즉, WL 서버에 대한 연결을 다시 사용할 수있을 때까지 성공적으로 재 연결할 때까지 정기적으로 시도합니까?

편집

좀 더 낮은 수준의 정보 (WORKLIGHT_IS_CONNECTED되지 않음)을 제공하는 이벤트 또는 스레드에 대해 생각했다 - 장치가 잃을 때 트리거 될 기본적으로 이벤트/WIFI/3G/4G 연결을 얻고/또는 인터넷 연결. 또는 WL.Device.getNetworkInfo()를 사용하여 폴링 만 사용할 수 있습니까?

같은 코르도바 이벤트의 사용합니다 :

document.addEventListener("offline", yourCallbackFunction, false); 

은에 가까운 기능을 제공?

답변

3

비록 세 가지 방법이 약간의 유사점을 가지고 있지만 그 차이점은 매우 중요합니다.

WL.Client.init()은 클라이언트 측 WL 프레임 워크를 초기화합니다.

WL.Client.connect()은 WL 서버에 대한 연결 요청을 트리거합니다.

initOptions.connectOnStartup은 WL_Client.init() 중에 WL.Client.connect()이 자동으로 호출되는지 여부를 정의합니다.

일반적으로 WL.Client.invokeProcedure()을 호출해도 WL.Client.connect()을 호출하지 않아도 대부분의 기능 (예 : 어댑터, 원격 사용 중지)이 작동합니다.

  1. 당신은 완전히 푸시 알림을 사용 할 수 없습니다 서버에서 보안 관련 정보를 얻을 것이다 WL.Client.connect()
  2. WL.Client.connect() 동안 트리거 WL.Client.connect()
  3. 직접 업데이 트를 호출하지 않고, : 그러나 작동하지 않습니다 몇 가지가있다 예 영역 이름, 사용자가 해당 영역에서 인증했는지 여부 등따라서 WL.Client.getUserInfo, .isAuthenticated(), .getUserName() 등의 모든 API는 작동하지 않습니다.

WL.Client.connect() (또는 initOptions.connectOnStartup=true)으로 세션을 시작하는 것이 좋습니다.

+0

설명해 주셔서 감사합니다. 오프라인/인터넷 연결 처리에 대한 통찰력을 갖고 있습니까? WL에 기본 관리 기능이 포함되어 있습니까? 아니면 WL.Client.connect (예 : 장치가 WIFI/3G/4G를 잃고 장치에 WIFI/3G/4G가 있지만 인터넷 연결이없는 경우)를 모두 처리해야합니까?) 등 전화? – christianmenkens

+0

아마도 이것일까요? http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v600/05_04_Working_offline.pdf –

+0

감사합니다. 나는 충분히 명확하지 않아서 유감이다. 그 PDF는 물론, 더 자세한 내용을 포함하도록 질문을 편집했습니다. 어떤 자동화에 관한 추가 정보를 제공하지 않았기 때문에 WL Client 프레임 워크에는 활성 스레드가 없거나 온라인/오프라인 상태를 다시 연결하거나 관리하기 위해 유사한 실행이 없다고 가정합니다. 그것은 모두 개발자가 관리합니다. – christianmenkens