使MySQL与非本地连接(移动数据等)一起使用

时间:2019-07-18 22:12:46

标签: java android mysql database xampp

有一种方法可以使带有XAMPP的MySQL联机以通过移动数据(Android应用程序)或PC应用程序进行连接,而无需在同一本地连接上蜂拥而至?

这是运行XAMPP的PC的规格:

  • 16GB RAM
  • i7-8700
  • SSD-512GB
  • 集成GPU
  • 100MB Internet连接(光纤)

这样做的主要目的是连接数据库,而不必与执行XAMPP的PC处于同一连接,就像在加利福尼亚州下加利福尼亚州同时打开Android应用程序

1 个答案:

答案 0 :(得分:0)

问题是您的PC最有可能坐在路由器后面。路由器将多个私有IP地址映射到一个公共IP地址。它是如何做到的?它使用NAT。用非常基本的术语来说,当设备D1(例如具有专用IP 192.168.1.10的设备)坐在路由器后面并希望与公用设备D2通信时,它会发送请求。该请求将发送到路由器。路由器将公共IP地址和任意端口(例如12345)添加到数据包中。路由器会保留一个表格,其中包含与专用设备链接的所有端口(例如192.168.1.10-> 12345,...)。然后,它使用D2的公共IP地址将数据包发送到D2。 D2将响应发送回路由器公共IP。路由器使用端口号和表将数据包转发到专用设备,在这种情况下,设备为D1。

因此,您不能从路由器外部直接与位于路由器后面的设备通信。但是,您可以使用port forwarding。您可以告诉路由器始终将特定端口映射到特定的专用IP(您的PC的IP)。然后,您使用该端口使另一个设备(您的Android应用)与之通信。

总而言之,如果我们有两个设备A和B,而A在路由器后面。如果A要与B建立连接,则:

  • 如果B在同一路由器后面,则他们可以使用其专用IP地址。

  • 如果B不在任何路由器后面,则A可以使用B的公共IP地址与其通信,如上所示。

  • 如果B在其他路由器后面,则必须存在某种port forwarding