这就是我想要做的事情:
我有 4 个时钟和网络上有一台 PC。我(PC)想从任何时钟中获取时间。
想法:
每个时钟都使用UDP广播(广播,因为我不知道PC的IP)。PC 获得第一个数据集(时间),从那时起只查看来自该时钟的数据集。(不要被时钟之间的微小时差混淆)
Clocks=Clients:
- socket
- 绑定到端口 1234
- sendto(broadcast,'1234')
PC=Server
- socket
- 绑定到端口 1234
- recvfrom(data,client_addr) //从第一个接收到的数据中提取 client_addr
- connect(client_addr) //只从这个客户端接收数据
- recvfrom()
1:这是正确的方法吗?还是有更好的选择?
2:如果我想在 PC 上使用多个应用程序来获取时间数据,我该怎么办?我可以复制代码并使用它吗?我的印象是,端口 1234 现在被第一个获得绑定的应用程序阻止了。(我猜 SO_REUSEADDR 不会起作用,因为只有一个应用程序会获取数据,而我不知道它会是哪一个)
问候