2012-11-21 3 views
0

나는 서버가 오디오 파일을 구문 분석 한 다음 클라이언트에게 공통 시계 인 서버의 특정 섹션을 재생하도록 지시하는 프로젝트를 진행하고 있습니다. 이론적으로 우리는 클라이언트 노드가 서로 옆에있는 오디오를 재생할 수 있으므로 높은 수준의 동기화가 필요하며, 지연 시간이 가장 짧지 만 인간의 귀에 의해 눈에 띄는 사운드 오프셋을 생성 할 수 있습니다. 나는이 문제를 어떻게 해결할 것인가에 대한 C 코드 예제를 찾으려고 노력해 왔으며 운이 좋지 않았다.클라이언트와 서버 프로그램 간의 클럭 동기화에 C

나는 시계 동기화에 관한 많은 위키피디아 기사를 읽었습니다.

http://en.wikipedia.org/wiki/Clock_synchronization

위의 기사

날 PTP는 로컬 네트워크에있는 우리의 구현을위한 이상적 일 것이다 믿는지도한다. 그러나 이상적으로 우리는 인터넷을 통한 연결을 허용하기 위해 프로젝트를 확장하고자합니다. 이것은 NTP가 더 나을 것이라고 믿게 만듭니다. NTP.org를 방문했지만 이해하기가 어려웠습니다. 응용 프로그램이 인터넷에 연결되어 있지 않은 로컬 네트워크에 있으면 NTP를 전혀 사용할 수없는 것처럼 보였습니다.

Small footprint clock synchronization without NTP

셋 로버트슨의 응답 내가 잘못했다 생각하는 저를 이끌어 :하지만이 게시물을 발견했다.

몇 가지 구성 파일 줄 (각 ​​클라이언트의 4 줄, 서버의 5 줄)을 사용하여 선택한 시스템의 시계에 동기화 할 수 있습니다.

문제는 이러한 코드 줄을 표시하지 않았거나 이러한 문제를 처리하는 코드를 볼 수있는 곳을 가리키고 있다는 것입니다.

나는 stackoverflow를 둘러 보았고 많은 비슷한 질문을 발견했지만 만족스런 대답을 찾지 못했습니다.

그래서 (나는 그것에 대해 유감스럽게도 스택 오버플로 질문에 대한 조언이 매우 구체적이고 질문을하기 전에했던 연구에 대해 설명했다.) 나는 간략하게 질문을하고 싶습니다. 누군가 나를 도울 수 있습니다 :

클라이언트/서버 소프트웨어 모델에서 소프트웨어를 사용하여 시간을 기준으로 이벤트를 실행할 수 있도록 정확한 시계 동기화를 유지하려면 어떻게해야합니까?

현재 우리 그룹은 UDP를 사용하고 있지만 필요한 경우 변경할 것입니다.

도움 주셔서 감사합니다.

편집 : 시계 동기화를 유지해야한다는 것을 이해합니다. 문제는 소프트웨어에서 어떻게합니까? 예제 코드 또는이 주제에 대한 샘플 코드를 찾을 수있는 곳으로 연결되는 하이퍼 링크를 찾고 있습니다. ENDEDIT

+1

NTP는 대부분의 운영 체제 용으로 제공되며 대개 서버를 시작하기 만하면됩니다 (설치되어 있지 않은 OS를 사용하는 경우 설치). 그러나 실제로 동기화 할 시간이 필요합니까? 오디오의 위치가 기준 시간을 제공하지 않습니다. 즉, 서버가이 시간에 스트림이 특정 바이트 오프셋에서 재생되어야한다는 것을 알 수 있습니다. 그러면 클라이언트에 오프셋을 건네줍니다. – nos

+0

생각하지 않습니다. ntp는 당신이 찾고있는 것입니다. JACK 오디오 연결 키트가 더 적합 할 것 같습니다. – ninjalj

답변

0

개념은 분명합니다. 네트워크에서 하나의 호스트를 NTP 서버로 선택하고 다른 호스트가이 서버와 동기화되도록하십시오.

LAN의 호스트간에 동기화가 필요하면이 작업을 수행해야합니다.

NTP 서버와 클라이언트는 많은 시스템에서 무료로 사용할 수 있습니다.

+0

_ 네트워크에서 하나의 호스트를 NTP 서버로 선택하고 다른 호스트가이 서버와 동기화되도록하십시오. _ 예, 이것이 제가하고 싶은 일입니다. 어떻게해야합니까? – user1843252

+0

서버는 어떤 OS를 사용하고 있습니까? @ user1843252 – alk

+0

서버가 Linux Redhat을 사용 중입니다. – user1843252

관련 문제