2013-06-25 1 views
1

저는 AppJS (HTML5, JQUERY)를 사용하는 데스크톱 응용 프로그램에서 작업하고 있습니다. 내 응용 프로그램에서는 사용자에게 응용 프로그램이 실행중인 로컬 컴퓨터의 폴더 경로를 입력하고 해당 정보를 서버의 데이터베이스에 저장하도록 요청합니다.서버와 "클라이언트 데스크톱 앱"을 동기화하는 방법은 무엇입니까?

서버에서 파일이 업데이트 될 때마다 사용자 컴퓨터의 해당 폴더로 파일을 푸시해야합니다. 내가 어떻게 이걸 얻을 수 있니? 서버가 로컬 시스템으로 파일을 전송할 수 있도록 클라이언트와 서버를 어떻게 동기화시킬 수 있을까요?

클라이언트에 파일을 푸시 할 서버에 대한 스케줄러 앱을 작성했습니다. 그러나, 나는 그 파일을 특정 클라이언트에 푸시하는 방법을 얻지 못하고있다. 클라이언트의 컴퓨터 MAC 주소 또는 다른 것과 같이 클라이언트에 파일을 푸시 (push)하는 데 필요한 매개 변수는 무엇입니까?

dropbox의 동기화 방법은 무엇입니까?

도와주세요!

답변

0

서버에서 nodejs를 실행할 수 있으면 socket.io를 사용하여 클라이언트와 서버간에 통신 할 수 있습니다. MSN이나 Skype와 같은 대화방처럼 생각하십시오. 사용자가 appjs 응용 프로그램을 열면 서버에 연결할 수 있습니다.

푸시 할 파일이 있으면 "updatedFile"과 같은 메시지를 보낸 다음 URL을 나열하십시오. 그런 다음 클라이언트는 파일을 다운로드하여 로컬 디스크에 저장할 수 있습니다.

이렇게 연결된 모든 클라이언트는 업데이트를 다운로드 할 수 있으며 모든 시간을 폴링 할 필요가 없습니다. 단지 websocket을 열어 두어야합니다.

클라이언트가 연결되면 메시지를 보낼 수 있습니다 changesSince 시간 이후에 서버에서 변경된 모든 파일의 목록을 수신 한 다음 다운로드하여 로컬 디스크에 하나씩 저장합니다.

+0

귀하의 소중한 의견이나 제안에 대해 감사합니다. 나에게 좋은 해결책 인 것 같다. 나는 이것을 시도 할 것이다. 감사. –

+0

방금 ​​살펴보고 싶은 프로젝트를 찾았습니다 : https://github.com/beatgammit/node-filesync 그것은 당신이 설명하는 것과 똑같은 일을하는 것처럼 보입니다. 필자가 만든 제안과 완전히 다르지는 않지만 소스 코드를보고 자신의 구현을위한 아이디어를 얻을 수 있습니다. – sihorton

+0

고맙습니다. 시혼. –

관련 문제