Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何避免在服务器和客户端文件上硬编码服务器的IP_Java_Python_Android_Websocket_Server - Fatal编程技术网

Java 如何避免在服务器和客户端文件上硬编码服务器的IP

Java 如何避免在服务器和客户端文件上硬编码服务器的IP,java,python,android,websocket,server,Java,Python,Android,Websocket,Server,我有一台运行在机器上的服务器(我们称之为MACHINE1)。在这个文件中,我创建了start\u server=websockets.service(recv,“serverIP”,port)。服务器正在正确运行 另一方面,我有一个android应用程序作为连接到服务器的客户端运行(请注意,两个设备都在同一网络中运行) 正如我在下面提到的,目前的解决方案是将serverIP设置为MACHINE1(192.168…)的IP,因此,如果我将机器更改为另一个IP,连接将失败。有没有办法创建一个通用的解

我有一台运行在机器上的服务器(我们称之为
MACHINE1
)。在这个文件中,我创建了
start\u server=websockets.service(recv,“serverIP”,port)
。服务器正在正确运行

另一方面,我有一个android应用程序作为连接到服务器的客户端运行(请注意,两个设备都在同一网络中运行)


正如我在下面提到的,目前的解决方案是将
serverIP
设置为
MACHINE1
(192.168…)的IP,因此,如果我将机器更改为另一个IP,连接将失败。有没有办法创建一个通用的解决方案?我尝试使用
localhost
,但没有连接到
MACHINE1

通常,当用户通过命令行参数或使用
Scanner
运行程序时,您会允许用户提供这些信息。您也可以从自己制作的配置文件中读取它。因此,如果我创建一个字段来在android应用程序中添加服务器的IP,这是一种正常的方法吗?没有比这更自动化的了?您可以将服务器IP放入应用程序的设置中,并在应用程序首次启动时向用户请求。Localhost指向客户端。您有本地DNS服务器吗?通常,当用户通过命令行参数或使用
Scanner
运行程序时,您会允许用户提供该服务器。您也可以从自己制作的配置文件中读取它。因此,如果我创建一个字段来在android应用程序中添加服务器的IP,这是一种正常的方法吗?没有比这更自动化的了?您可以将服务器IP放入应用程序的设置中,并在应用程序首次启动时向用户请求。Localhost指向客户端。你有本地DNS服务器吗?
try {
        uri = new URI("ws://" + serverIP + ":port");
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }

    mWebSocketClient = new WebSocketClient(uri) {
        // my code
    }