Java 使MySQL与非本地连接(移动数据等)一起工作
有没有一种方法可以让带有XAMPP的MySQL通过移动数据(Android应用程序)或PC应用程序在线连接,而不必使用相同的局域网连接 以下是运行XAMPP的PC的规格:Java 使MySQL与非本地连接(移动数据等)一起工作,java,android,mysql,database,xampp,Java,Android,Mysql,Database,Xampp,有没有一种方法可以让带有XAMPP的MySQL通过移动数据(Android应用程序)或PC应用程序在线连接,而不必使用相同的局域网连接 以下是运行XAMPP的PC的规格: 16GB内存 i7-8700 SSD-512GB 集成GPU 100MB互联网连接(光纤) 我要做的是连接到数据库,而不必使用与正在执行XAMPP的PC相同的连接,就像在加利福尼亚州打开Android应用程序,同时PC位于下加利福尼亚州。问题是,您的PC很可能位于路由器后面。路由器将多个私有IP地址映射到一个公共IP地址。
- 16GB内存
- i7-8700
- SSD-512GB
- 集成GPU
- 100MB互联网连接(光纤)
我要做的是连接到数据库,而不必使用与正在执行XAMPP的PC相同的连接,就像在加利福尼亚州打开Android应用程序,同时PC位于下加利福尼亚州。问题是,您的PC很可能位于路由器后面。路由器将多个私有IP地址映射到一个公共IP地址。它是怎么做到的?它使用。在非常基本的术语中,当设备D1(例如,具有专用ip 192.168.1.10)位于路由器后面并且想要与公共设备D2通信时,它发送一个请求。请求被发送到路由器。路由器将公共IP地址和任意端口(例如12345)添加到数据包中。路由器保留一个表,其中包含与专用设备链接的所有端口(例如192.168.1.10->12345,…)。然后它使用D2的公共IP地址将数据包发送到D2。D2将响应发送回路由器公共IP。路由器使用端口号和表将数据包转发到专用设备,在这种情况下,设备为D1 因此,您无法从路由器外部直接与位于路由器后面的设备通信。但是,您可以使用。您可以告诉路由器始终将特定端口映射到特定的专用IP(您电脑的IP)。然后,你让另一台设备(你的Android应用程序)使用该端口与之通信 总之,如果我们有两个设备,A和B,A在路由器后面。如果A想要启动与B的连接,则:
- 如果B在同一路由器后面,那么他们可以使用他们的专用IP地址
- 如果B不在任何路由器后面,那么A可以使用B的公共IP地址与它通信,如上所示
- 如果B在不同的路由器后面,那么肯定有某种类型的错误