⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 run_test.pl

📁 在开发TAO的命名服务中用到的服务端及客户端源代码。
💻 PL
字号:
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
  &  eval 'exec perl -S $0 $argv:q'
  if 0;
  
use Env (ACE_ROOT);
use lib "$ACE_ROOT/bin";
use PerlACE::Run_Test;


$TARGETHOSTNAME = "localhost";
$def_port = 2809;
$nsior = "ns.ior";

# start Naming Service
unlink($nsior);
$NameService = "$ENV{TAO_ROOT}/orbsvcs/Naming_Service/Naming_Service";
$NS = new PerlACE::Process($NameService, "-ORBEndpoint iiop://$TARGETHOSTNAME:$def_port -o $nsior");
$NS->Spawn();

if (PerlACE::waitforfile_timed ($nsior, 10) == -1) {
  print STDERR "ERROR: cannot find IOR file <$nsior>\n";
  $NS->Kill ();
  exit 1;     
}

# start the server
print "Start Messenger Server \n";
$SR =  new PerlACE::Process("MessengerServer", 
  "-ORBInitRef NameService=iiop://$TARGETHOSTNAME:$def_port/NameService");
$SR->Spawn();
sleep(2);


@corbaname_clients = ("corbaname:iiop:$TARGETHOSTNAME:2809#example/Messenger",
                      "corbaname::$TARGETHOSTNAME:2809#example/Messenger",
                      "corbaname::$TARGETHOSTNAME#example/Messenger",
                      "-ORBInitRef NameService=iiop://$TARGETHOSTNAME:2809/NameService corbaname:rir:#example/Messenger");

@clients_comments = ( "Using a corbaname that does not require -ORBDefaultInitRef: \n",
                      "Using defaults to iiop protocol: \n",
                      "Using default protocol (iiop) and default port ($def_port): \n",
                      "Using Resolve Initial Reference form(must tell ORB where NS is located with -ORBInitRef)\n");

# Run the client for each of the corbaname test. 
$test_number = 0;
foreach $o (@corbaname_clients) {   
  
  $CL = new PerlACE::Process("MessengerClient", $o);

  if ($CL->SpawnWaitKill(15) == -1) {
   print STDERR "ERROR: client timedout \n";
   $SR->Kill();
   $NS->Kill();
   exit 1;
  }
   
  $test_number++;

  print "======================================\n";
  print "Finish Test $test_number: $clients_comments[$test_number]\n";
  print "             $CL_NAME $o\n";
  print "======================================\n\n";

}

# clean up 
$SR->Kill ();
$NS->Kill ();

exit 0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -