0

私は、サーバーがオーディオ ファイルを解析し、サーバーの共通クロックに基づいてオーディオの特定のセクションを再生するようにクライアントに指示するプロジェクトに取り組んでいます。理論的には、クライアント ノードが互いに隣り合ってオーディオを再生している可能性があるため、高レベルの同期が必要であり、最小の遅延を除いて、人間の耳が認識できるサウンド オフセットが生成される可能性があります。この問題に対処する方法の C コードの例を見つけようとしてきましたが、ほとんど運がありませんでした。

クロック同期に関するウィキペディアの記事をたくさん読みました。

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

上記の記事から、ローカル ネットワークでの実装には PTP が理想的であることがわかりました。しかし理想的には、インターネット経由で接続できるようにプロジェクトを拡張したいと考えています。これにより、NTPの方が優れていると思いました。NTP.org にアクセスしましたが、理解するのが難しく、アプリケーションがインターネットに接続されていないローカル ネットワーク上にある場合、NTP をまったく使用できないように見えました。しかし、その後、次の投稿を見つけました。

NTP を使用しない小さなフットプリントのクロック同期

そしてセス・ロバートソンの反応は、私が間違っていたと信じるように導きました.

いくつかの構成ファイル行 (各クライアントで 4 行、サーバーで 5 行) を使用して、選択したシステムのクロックに同期させることができます。

問題は、彼がそれらのコード行を示していないこと、またはこれらの問題を処理するコードを表示できる場所を教えてくれなかったことです。

私はstackoverflowを見回しており、同様の質問をたくさん見つけましたが、満足のいく答えはありませんでした.

それで、テキストの壁の後(スタックオーバーフローの質問のアドバイスは非常に具体的で、質問をする前に行った調査を説明していると言われています)、私の質問を簡潔に述べたいと思います。誰かが私を助けてくれることを願っていますアウト:

クライアント/サーバー ソフトウェア モデルで、ソフトウェア内で正確なクロック同期を維持して、時間に基づいてイベントを実行できるようにするにはどうすればよいですか?

現在、私たちのグループは UDP を使用していますが、必要に応じて変更する予定です。

助けてくれてありがとう。

編集: クロック同期を維持する必要があることは理解しています。問題は、ソフトウェアでこれを行う方法です。サンプル コード、またはこの件に関するサンプル コードを見つけることができる場所へのハイパーリンクを探しています。終了編集

4

1 に答える 1

0

概念は明確です。ネットワーク内の 1 つのホストを NTP サーバーとして選択し、他のホストをこのサーバーと同期させます。

LAN のホスト間の同期だけが必要な場合は、これで十分です。

NTP サーバーとクライアントは、多くのシステムで自由に利用できます。

于 2012-11-21T21:52:52.943 に答える