[R] Fermeture du serveur durant une TCPConnect

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
sim
Niveau 1
Niveau 1
Messages : 9
Enregistré le : sam. 22 janv. 2011 01:18
Status : Hors ligne

[R] Fermeture du serveur durant une TCPConnect

#1

Message par sim »

Bonsoir,

J'ai 2 script basiques serveur / client en connexion TCP.
Lorsque je démarre d'abord le client, pas de problème, il tourne en boucle pour essayer de se connecter au serveur (avec un sleep d'usage bien entendu).

Code : Tout sélectionner

$g_IP = xx.xxx.xxx.xx ; Je mets ici mon IP.
$socket = TCPConnect( $g_IP, 65432 ) ; j'initialise une premiere fois la connexion
While 1
If $socket = -1 Then ;

sleep(600000) ; Si la connexion echoue on attend 10min avant de réessayer.
$socket = TCPConnect( $g_IP, 65432 )
    Else
;Là j'ai la suite de mon code.
WEnd
 
Le problème survient lorsque je ferme le serveur sans avoir quitté le client....
Il ne me repasse pas le socket a -1 ... du coup, le script reste dans la boucle While en bugant (proc a 50% d'utilisation).
Comment faire, pour vérifier que la connexion n'a pas été interrompue ? Afin de permettre de relancer une nouvelle connexion.

Merci d'avance :)

sim
Modifié en dernier par sim le sam. 19 févr. 2011 19:30, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Fermeture du serveur durant une TCPConnect

#2

Message par Tlem »

Perso, au lieu de faire un Sleep(600000) qui bloque complètement votre script, j'utiliserais la fonction AdlibRegister qui exécuterait le code toutes les 600000 millisecondes.
Dans le même temps, j'utiliserais un second AdlibRegister qui lancerait un code de test avec TCPSend par exemple, afin de vérifier si le serveur répond bien. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
sim
Niveau 1
Niveau 1
Messages : 9
Enregistré le : sam. 22 janv. 2011 01:18
Status : Hors ligne

Re: [..] Fermeture du serveur durant une TCPConnect

#3

Message par sim »

Merci pour vos conseils :
Vous avez résolu mon problème !
Je vais donc utiliser AdlibRegister afin de tester la connexion toutes les 10-15 mins. Un grand merci Tlem :))

sim
Répondre