我目前正在写基于客户端服务器的工具。由于IP地址不稳定,我的想法是让服务器应用程序使用服务器的正确IP编译客户端应用程序。

一步步:

  • 服务器应用程序启动。
  • 用户查看他的服务器计算机当前拥有什么IP(可以通过Web浏览器手动完成)。
  • 使用此IP,他创建(编译)一个客户端,该客户端搜索与此IP的连接(一旦启动)。
  • 为此,必须在设置IP之后编译客户端。
  • 客户端作为后台应用程序运行,而没有任何GUI或控制台窗口。因此,在客户端添加IP不是我要搜索的。最大的新手应该能够运行客户端并完成他们的工作。

  • 我坚信我可以解压缩javac(从Java应用程序中解压缩),然后将类写入文件(作为完整字符串),然后运行控制台命令,该命令使用javac.exe编译可运行的jar文件。但这当然不是那么容易。我的问题是我不想将整个JDK-Folder放到服务器应用程序中,而只是为了编译客户端。你们中有人知道我该如何处理的正确方法吗?

    重要的是,我必须与未安装JDK的计算机进行斗争,而仅仅是与标准的JRE进行斗争,而标准的JRE本身就没有编译器。

    最佳答案

    绝对不是解决此问题的好方法。有两种替代方法会更简单:

  • 将服务器的IP地址或主机名作为参数传递给客户端应用程序(例如,通过命令行)。这根本不需要对客户端进行任何更改,但是将需要您采用某种方式来传递该参数。
  • 如果您想变得聪明一点,可以使客户端应用程序的文件名包含IP(例如,作为十六进制值:连接到127.0.0.1的客户端可能称为client-7f000001.jar)。但是,您必须确保它没有被重命名。
  • 在客户端JAR文件中嵌入一个包含服务器IP地址的文本文件。由于JAR只是一个ZIP存档,因此您不需要编译器即可执行此操作。
  • 10-08 03:46
    查看更多