简单客户端 - 服务器解释 - Java

Simple client - server explanation - Java

在我的 Java 课程中,有人让我看一个多线程服务器客户端项目。除了这部分在客户端我了解大部分项目:

public static void main( String args[] )
{
  Client application; 

  if ( args.length == 0 )
     application = new Client( "127.0.0.1" ); 
  else
     application = new Client( args[ 0 ] ); 

  application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
  application.runClient(); 
}

特别是我不明白 args 检查背后的含义。为什么这样做呢?例如,如果 args0,我们将连接到 localhost,但我无法理解 else 中发生的事情。我知道 args 包含提供的命令行参数作为 String 对象数组,但这对我帮助不大。所以欢迎任何解释:)

"args" 是一个包含用户在启动应用程序时传递的参数的数组。如果 args.length(数组的大小 "args")为零,(未传递参数)将使用默认值“127...”。如果它大于零,第一个参数将被用作地址:

java-jar myProgram.jar192.168.0.1

参见:What is "String args[]"? parameter in main method Java

else 子句使用第一个命令行参数并将其传递给 Client 构造函数。这允许您在命令行上指定客户端应连接到的主机。

字符串数组作为参数传递给您的程序(它可以在程序启动期间完成),例如 - java ClientApp,它可以接受一些参数,例如 java ClientApp 192.168.0.1,所以 192.168.0.1 将是 args[] 数组中索引为 0 的元素。

有关更多信息,请查看官方文档 - http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html

我想说客户端的 IP 地址应该作为命令行参数,如果没有提供,则默认连接到本地主机。 :-)