Table des matières

socket

Ouvre une connexion réseau TCP

Syntaxe

socket ?''options''? host port
socket -server command ?options? port

Description

Cette commande ouvre une socket réseau et retourne un identificateur de canal qui peut être employé dans les appels futurs des commandes comme read, puts et flush. A présent seul le protocole réseau TCP est supporté; les versions futures pourront inclure un support pour des protocoles supplémentaires. La commande socket peut être employée pour ouvrir soit le coté client ou serveur d'une connexion, dépendant de si le switch -server est spécifié.

Sockets clientes

Si l'option -server n'est pas spécifiée, alors la partie client d'un connexion est ouverte et la commande retourne un identificateur de canal qui peut être utilisé pour la lecture et l'écriture. port et host spécifient un port pour la connexion; il doit y avoir un serveur qui accepte des connections sur ce port. port est un numéro de port entier et host est soit un nom qualifié tel que zeolia.chat ou une adresse numérique IP telle que 127.0.0.1. Utilisez localhost pour vous référer à la machine sur laquelle la commande a été appelée.

Les options suivantes peuvent être aussi présentes avant host pour spécifier des information supplémentaires concernant la connexion :

Sockets serveur

Si l'option -server est spécifiée alors la nouvelle socket sera un serveur pour le port indiqué par port. Tcl acceptera automatiquement les connections sur ce port. Pour chaque connexion Tcl créera un nouveau canal qui pourra être employé pour communiquer avec le client Tcl appelle alors command avec trois arguments supplémentaire: le nom du nouveau canal, l'adresse, en notation réseau, de la machine cliente, et le numéro de port du client.

L'option supplémentaire suivante peut aussi être spécifiée avant host:

Les canaux serveurs ne peuvent pas être utilisés pour les entrées ou sorties; leur seul usage est d'accepter de nouvelles connections client. Les canaux créés pour chaque connexion client entrante sont ouvert pour l'entrée et la sortie. Fermer le canal serveur ferme le serveur ainsi aucune nouvelle connexion ne sera acceptée néanmoins, les connections existantes ne seront pas affectées.

Les sockets serveurs dépendent du mécanisme d’événement Tcl pour réagir aux nouvelles connections ouvertes. Si l'application n'entre pas dans la boucle d’événement, par exemple en appelant la commande vwait ou l'appel de fonction C, alors aucunes connections ne seront acceptées

Options de configuration

La commande fconfigure peut être utilisée pour consulter plusieurs options de configuration en lecture seule pour les canaux socket:

Exemples

Voir aussi