これが私がやろうとしていることです:
私はネットワーク上に4つの時計と1つのPCを持っています。私(PC)は、どの時計からも時刻を取得したいと思っています。
アイデア:
すべてのクロックはUDPブロードキャストを使用します(PCのIPがわからないためブロードキャスト)。PCは最初のデータセット(時間)を取得し、それ以降はこのクロックからのデータセットのみを調べます。(時計のわずかな時差で混乱しないように)
Clocks = Clients:
-ソケット
-ポート1234にバインド
-sendto(broadcast、 '1234')
PC = Server
--socket
--bind
to port 1234
--recvfrom(data、client_addr)//最初に受信したデータからclient_addrを抽出します--connect
(client_addr)//このクライアントからのみデータを受信します
--recvfrom()
1:これはこれを行う正しい方法ですか?または、より良いオプションはありますか?
2:PC上の複数のアプリケーションで時間データを取得したい場合はどうすればよいですか?コードをコピーして使用できますか?私の印象では、ポート1234は、バインドを取得する最初のアプリケーションからブロックされています。(SO_REUSEADDRは機能しないと思います。これは、1つのアプリケーションだけがデータを取得し、どちらになるかわからないためです)
よろしく