#!/usr/bin/perl


use Time::HiRes;


$version = "4";

# sert à l'automatisation des updates du côté serveur
if ($#ARGV == 0) {
	if ($ARGV[0] eq "v") {
		print "$version";
		exit;
	}
}

$options = $ARGV[0];

$nom_du_script = $0;
# $0 est une variable prédéfinie qui contient la commande qui a lancée l'exdecution du script
$nom_du_script =~ s/.*\///;
# enlever l'éventuel chemin précédant le nom du script


sub ifdprint {
($string) = @_;
	  print "$nom_du_script : $string";
}

$timeout = $options;
chomp $timeout;
$timeout =~ s/l//;
if ($timeout eq "") {
# si le script est exécuté avec l'option 'd' pour ('debug')
  $TIMEOUT = 0.1;
} else {
  $TIMEOUT = $timeout;
}

$asked_file = "cs.version.server";

$server_130 = "192.168.30.130";
$server_local = "localhost";
$server_false = "192.168.30.139";

if ($options =~ /l/) {
# si le script est exécuté avec l'option 'l' pour ('local')
  $server_true = "localhost";
} else {
  $server_true = "192.168.30.139";
}

if ($timeout eq "") {
  $TIMEOUT = 0.1;
  # valeur par défaut de $TIMEOUT
} else {
  $TIMEOUT = $timeout;
}

# 1° requète : devrait marcher, si timeout pas trop petit
$server_host = $server_true;

print "\n";

&ifdprint ("attente de la réponse du serveur\n");

$start = Time::HiRes::time;
&ifdprint ("start = $start\n");

# appel au script 'udpget' qui fait la requète au serveur
system("udpget $server_host $TIMEOUT $asked_file d");

$after = Time::HiRes::time;
$relatif = $after - $start;
&ifdprint ("after = $relatif\n");

print "\n";

# 2° requète : devrait pas marcher
$server_host = $server_false;

&ifdprint ("attente de la réponse du serveur\n");

$start = Time::HiRes::time;
&ifdprint ("start = $start\n");

# appel au script 'udpget' qui fait la requète au serveur
system("udpget $server_host $TIMEOUT $asked_file d");

$after = Time::HiRes::time;
$relatif = $after - $start;
&ifdprint ("after = $relatif\n");

print "\n";
