Functions > Network >


TCPListen

Cr�e un socket d'�coute pour une connexion entrante.

TCPListen ( IPAddr, port [, MaxPendingConnection] )

Param�tres

IPAddr Adresse de protocole Internet s�par� par des points(IpV4) tel que : "192.162.1.1".
port Port sur lequel le socket cr�� sera connect�.
MaxPendingConnection [optionnel] Longueur maximale de la file d'attente des connexions en attente. Par d�faut, une valeur maximale raisonnable est d�finie.

Valeur de retour

Succ�s: Retourne l'identifiant principale du socket.
�chec: Retourne -1 ou 0, et d�finit @error <> 0.
@error: 1 : IPAddr incorrect.
2 : port incorrect.
Valeur retourn�e par l'API Windows WSAGetError (Consultez MSDN).

En relation

TCPAccept, TCPCloseSocket, TCPConnect, TCPSend, TCPShutdown, TCPStartup, TCPTimeout (Option)

Exemple

#include <MsgBoxConstants.au3>

Example()

Func Example()
    TCPStartup() ; D�marre le service TCP.

    ; Enregistre OnAutoItExit qui sera appel�e  lorsque 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 d'�coute et se connecte � l'adresse IP et au port sp�cifi�s avec un maximum de 100 connexions en attente.
    Local $iListenSocket = TCPListen($sIPAddress, $iPort, 100)

    ; Notes: Vous pouvez seulement �couter sur des IPs priv�es, comme celui utilis� ici;
    ;ou sur la plage de 192 � 223 (g�n�ralement 192.168.X.X, utilisez @IPAddress1 pour tester sur votre IP locale (vous aurez besoin d'un autre ordinateur).
    ; L'identifiant de la socket Listen est utilis�e uniquement pour la fonction TCPAccept.

    ; Si une erreur s'est produite, affiche le code d'erreur et retourne False.
    If @error Then
        ; Quelqu'un est probablement d�j� � l'�coute sur cette adresse IP et sur ce port (script d�j� en cours d'ex�cution?).
        Local $iError = @error
        MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), "", "Ne peut pas �couter, code de l'erreur: " & $iError)
        Return False
    Else
        MsgBox($MB_SYSTEMMODAL, "", "Ecoute r�ussie.")
    EndIf

    ; Ferme le socket d'�coute pour permettre une connexion ult�rieure.
    ; Tant le socket n'est pas ferm�, aucun autre programme ne peut se connecter avec la m�me adresse IP et le m�me port.
    TCPCloseSocket($iListenSocket)
EndFunc   ;==>Example

Func OnAutoItExit()
    TCPShutdown() ; Ferme le service TCP.
EndFunc   ;==>OnAutoItExit