Date de mise à jour : 11 novembre 2004
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".