Date de mise à jour : 11 novembre 2004

Les fonctions de DP

DP est une extension Tcl proposée par un groupe de programmeurs de logiciel libre. L'accès à l'ensemble du projet DP (sources, documentation, etc.) est :

http://www.cs.cornell.edu/zeno/projects/tcldp/

Les commandes de DP sont très puissantes et permettent de mettre en réseau des machines Windows et Linux entres elles.

Dans la distribution Linux de AudeLA, DP n'est pas fournie. Il faut la télécharger et la compiler. Dans la distribution Windows de AudeLA, DP est fournie compilée et prête à l'emploi.

La librairie DP n'est pas chargée par défaut dans AudeLA (mais elle l'est dans Aud'ACE). Il est nécessaire spécifier l'importation de la bibliothèque par la fonction load de Tcl :

load libdp40[info sharedlibextension]
foreach f [glob lib/dp/*.tcl] {
source $f
}

Dans l'interpréteur Tcl. La commande [info sharedlibextension] signifie à l'interpréteur Tcl d'ajouter, automatiquement, les lettres correspondant au suffixe .dll ou .so en fonction du système d'exploitation. On peut aussi charger automatiquement l'ensemble de DP par la simple commande suivante :

package require dp

Ci dessous, nous dressons la liste des commandes disponibles (commentaires originaux en anglais) :

dp_accept : accept a TCP client connection
dp_admin : register/unregister a DP channel for RPC/RDOs
dp_connect : open a Tcl-DP channel
dp_copy : perform a bulk copy from one channel to another
dp_netinfo : allows access to TCP, DNS and SMTP information
dp_RDO : perform a remote procedure call without return value
dp_recv : get data from a channel
dp_RPC : perform a remote procedure call
dp_send : send data through a channel
dp_MakeRPCServer : create TCP RPC server channel
dp_MakeRPCClient : create TCP RPC client channel

Exemple (à essayer à partir de la console de Aud'ACE par exemple) :

set rpcid [dp_MakeRPCServer 5000]

Crée un serveur RPC sur un ordinateur (dont le IP serait 192.168.0.1 par exemple).

set rpcid [dp_MakeRPCClient 192.168.0.1 5000]
dp_RPC $rpcid set a 5

Crée un client RPC sur un autre ordinateur qui se connecte sur celui dont le numéro IP est 192.168.0.1 et lui envoie la commande "set a 5".