Crée un socket connecté à un serveur existant.
TCPConnect ( IPAddr, port )
IPAddr | Adresse de protocole Internet séparée par des points (IpV4) tel que: "192.162.1.1". |
port | Port sur lequel le socket créé sera connecté. |
Succès: | Retourne l'identifiant principal du socket. |
Échec: | Retourne -1 ou 0 et définit @error <> 0. |
@error: |
-2 : non connecté 1 : IPAddr incorrect. 2 = port incorrect. 10060 : connexion hors délai. Une tentative de connexion a échoué parce que la partie connectée n'a pas répondu correctement après une période de temps, ou la connexion établie a échoué parce que l'hôte connecté n'a pas répondu. Voir exemple de délai de connexion. Valeur retournée par l'API windows WSAGetError (Consultez MSDN). |
TCPListen, TCPRecv, TCPSend, TCPStartup, TCPTimeout (Option)
#include <MsgBoxConstants.au3> ; Je suis le client, démarrez-moi après le serveur! (Démarrez d'abord l'exemple du script TCPAccept). Example() Func Example() TCPStartup() ; Démarre le service TCP. ; Enregistre OnAutoItExit qui sera appelée quand le script se fermera. OnAutoItExitRegister("OnAutoItExit") ; Assigne des variables locales avec l'adresse IP et le port. Local $sIPAddress = "127.0.0.1" ; Cette adresse IP ne fonctionne que pour les tests sur votre propre ordinateur. Local $iPort = 65432 ; Port utilisé pour la connexion. ; Assigne une variable locale avec le socket et se connecte à un socket d'écoute avec l'adresse IP et le port spécifié. Local $iSocket = TCPConnect($sIPAddress, $iPort) ; Si une erreur s'est produite, affiche le code d'erreur et retourne False. If @error Then ; Le serveur est probablement hors ligne ou le port n'est pas ouvert sur le serveur. Local $iError = @error MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Connexion impossible, code d'erreur: " & $iError) Return False Else MsgBox($MB_SYSTEMMODAL, "", "Connection réussie") EndIf ; Ferme le socket. TCPCloseSocket($iSocket) EndFunc ;==>Example Func OnAutoItExit() TCPShutdown() ; Ferme le service TCP. EndFunc ;==>OnAutoItExit
#include <MsgBoxConstants.au3> ; TCPConnect avec dépassement de délai ; Je suis le client, démarrez-moi pas plus de 10sec après le serveur! (Le script du serveur est le script d'exemple TCPAccept). Example() Func Example() TCPStartup() ; Démarre le service TCP. ; Enregistre OnAutoItExit qui sera appelée quand le script sera fermé. OnAutoItExitRegister("OnAutoItExit") ; Affecte à des variables locales l'adresse IP à boucler et le port. Local $sIPAddress = "127.0.0.1" ; Cette adresse IP fonctionne seulement pour un test sur votre ordinateur. Local $iPort = 65432 ; Port utilisé pour la connexion. Opt("TCPTimeout", 1000) Local $iSocket, $iError Local $nMaxTimeout = 10 ; Le script est annulé si aucun serveur n'est disponible après 10 secondes Do ; Affecte une variable locale au socket et se connecte à un socket d'écoute avec l'adresse IP et le port spécifiés. $iSocket = TCPConnect($sIPAddress, $iPort) $nMaxTimeout -= 1 Until @error = 0 Or $nMaxTimeout = 0 $iError = @error Switch $iError Case 0 MsgBox($MB_SYSTEMMODAL, "", "Connexion réussie après " & 10 - $nMaxTimeout & " TimeOut") TCPCloseSocket($iSocket) ; Ferme le socket. Case 10060 MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Impossible d'établir la connexion, après " & 10 - $nMaxTimeout & " TimeOut") Case Else ; @error <> 0 ; Le serveur est probablement hors ligne ou le port n'est pas ouvert sur le serveur. MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Impossible d'établir la connexion, code de l'erreur: " & $iError) EndSwitch Return ($iError = 0) ; True si pas d'erreur EndFunc ;==>Example Func OnAutoItExit() TCPShutdown() ; Ferme le service TCP. EndFunc ;==>OnAutoItExit