Bonjour,
Dans mon programme j'utlise un TClientSocket pour me connecter à un serveur. Lorsque j'établit une connexion en mode asynchrone, la première fois le message ne passe pas. La deuxième fois je peux envoyer le message sans problème. La troisième fois, ça ne passe pas et la 4ieme fois ç'est bon. Ainsi de suite !
J'ai cherché à comprendre ce qui se passe.
Voici mon code :
J'ai remarqué que CliSock->Active passe à true après un certain moment et pendant ce court lap de temps le programme tourne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 bool __fastcall TVFM::ConnectToServer(AnsiString ServerIp, int ServerPort) { CliSock->ClientType = ctNonBlocking; CliSock->Host = Server; CliSock->Port = ServerPort; try { CliSock->Active = true; return CliSock->Active; } catch(...) { UpdateHistoryList("Ne peut pas établir une connexion sur l'hôte spécifié", true); return false; } }
Est ce que quelqu'un à déjà aperçu ce souci ?
Quelqu'un aurait une idée ?
Merci d'avance.
Partager