這裏是我想要做的事情:
我有4個時鐘和一臺PC在網絡上。我(PC)想要從任何時鐘獲得時間。UDP套接字,選擇多個客戶端之一
思路:
每個時鐘都使用UDP廣播(廣播,因爲我不知道PC的IP)。個人電腦獲得第一個數據集(時間),從那時起只查看該時鐘的數據集。 (沒得到由輕微timedifferences時鐘之間的混淆)
時鐘=客戶:
- 插座
- 綁定到端口1234
- SENDTO(廣播, '1234')
PC =服務器
- 插座
- 綁定到端口1234
- recvfrom的(數據,client_addr)//提取從第一client_addr接收數據
- 連接(client_addr)//只從該客戶機接收數據
- recvfrom的()
1:這是做到這一點的正確方法是什麼?還是有更好的選擇?
2:我能做些什麼,如果我想在PC上的多個應用程序來獲取時間的數據?我可以複製代碼並使用它嗎?我的印象是,端口1234現在被第一個綁定的應用程序阻止。 (我猜SO_REUSEADDR不會起作用,因爲只有一個應用程序,然後獲取數據,我不知道這將是其中之一)
問候
我不確定你的應用程序是什麼,但它聽起來像它可能是ptpd所做的 - 精確地同步局域網內的時鐘。如果是這樣,也許你想運行ptpd? –
@JeremyFriesner:謝謝你的提示!看起來像是需要思考的東西。 – Michael