【发布时间】:2017-07-27 03:07:03
【问题描述】:
我正在尝试想出一种在两台计算机之间同步 sqlite 数据库的方法。
如果这是在具有公共 IP 的机器上,这将不难,但我正在尝试找到一种方法使这适用于任何两个设备,并且大多数计算机没有静态 IP。
有哪些方法可以解决这个问题?
【问题讨论】:
标签: database sqlite protocols distributed-computing
我正在尝试想出一种在两台计算机之间同步 sqlite 数据库的方法。
如果这是在具有公共 IP 的机器上,这将不难,但我正在尝试找到一种方法使这适用于任何两个设备,并且大多数计算机没有静态 IP。
有哪些方法可以解决这个问题?
【问题讨论】:
标签: database sqlite protocols distributed-computing
假设您只需要找到对等 IP 地址...
如果机器是同一局域网段,则将 Udp 数据包广播到局域网。您也可以尝试使用管理员范围的多播,但里程会根据网络设置和使用的设备而有所不同。
如果试图通过 Internet 查找两台计算机(假设您可以解决 NAT 地址转换问题),您需要从一个将为您保存信息的节点反弹。例如,将数据包写入 dweet.io 或 sparkfun 或其他将保存存储和转发数据的网站。您还可以阅读 twitter 提要等,基本上您也需要一个已知的参考点来进行对话。研究恶意软件如何为某些想法创建命令和控制网络。或者搜索集合服务器和协议。
如果地址范围很小,则探测所有可能的地址。但要小心,因为您可能会触发防病毒或 ISP 操作
如果想要更多基于浏览器,请查看 webrtc,这不是您所追求的,但一些发现技术可能很有趣。
如果您有访问权限,则可以使用您的 DNS 记录。本质上,这是(2)的变体。
还有更多的选择,但它们有更多的特殊用途,或者对于一般用途来说有点太难听了。另请参阅网状网络是如何形成的。
【讨论】: