Usage de l'accès distant

Ce programme présente l'usage de l'accès distant via l'opérateur @ .

Les fichiers sources sont dans le répertoire ${UPS_HOME}/upsnet/demo/${UPS_LANGUAGE}/accesdis/.

Pour analyser le fichier source, UpsNet.upi doit être déclaré parmi les modules importés dans le fichier ${UPS_HOME}/ini/${UPS_USER}/upsp5l.ini.

Mode compilé

Commande de compilation

Exécution d'Up ! Object Request Broker

upsorb PortUpsOrb=1632

Exécution du serveur

serveur PortUpsOrb=1632 PortServeur=1640 NbServeurs=1

Exécution du client

client PortUpsOrb=1632 PortServeur=1650 NbServeurs=1

Mode interprété

Exécution d'Up ! Object Request Broker

upsorb PortUpsOrb=1632

Exécution du serveur

upssng Source=serveur.upl PortUpsOrb=1632 PortServeur=1640 NbServeurs=1

Exécution du client

upssng Source=client.upl PortUpsOrb=1632 PortServeur=1650 NbServeurs=1

Fichiers sources

Source du serveur

Source Composant "Exemple d'emploi de l'accès distant" Version 4.0.0;

Principal
/*******/
Debut TantQue Vrai Faire Fin TantQue
Fin Principal

Source du client

Source Composant "Exemple d'emploi de l'accès distant" Version 4.0.0;

Variable
/******/
Principal
/*******/
Debut
MonServeur=Serveur("UpsKrn", 1, 0, 0, "serveur");
F=Fichier@MonServeur("/tmp/essai.txt", EcritureTexte);
F.Ecrire("Bonjour\nAu revoir\nEt a bientot\n");
F.Ecrire(1);
F.Ecrire("\n");
F.Ecrire(2.3);
F.Ecrire("\n");
F.Ecrire(Vrai);
F.Ecrire("\n");
F.Vider();
F.DeposerSurDisque();
F.Fermer();

F=Fichier@MonServeur("c:/tmp/essai.txt", LectureTexte);
E=F.LireUnMot(C, 20);
Ecran.Ecrire(C);
E=F.Lire(C, 4);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
E=F.LireUneLigne(C);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
P=F.LirePosition();
E=F.LireUneLigne(C);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
F.Lire(E);
Ecran.Ecrire(E);
F.Lire(R);
Ecran.Ecrire(R);
F.Lire(B);
Ecran.Ecrire(B);
E=F.Lire(C, 4);
F.FixerPosition(P);
E=F.LireUneLigne(C);
Ecran.Ecrire(C);
Ecran.Ecrire(E);
Si F.FinDeFlux Alors Fin Si
F.Fermer();
Ecran.Ecrire("\n");

F=Fichier("/tmp/essai.txt@serveur", EcritureTexte);
F.Ecrire("Bonjour\n");
F.Fermer();

S=Synchronisation@MonServeur("MaSynchronisation", SynchronisationPrivee);
S.Prendre(SynchronisationLecturePartagee);
Ecran.Ecrire("On se synchronise\n");
S.Lacher();

T=TachePrincipale@MonServeur;
T.ChangerPrioriteRelative(10);
Ecran.Ecrire(T.LirePrioriteRelative());
T.SuspendreTache();
T.ReprendreTache();

Ecran.Ecrire(NomProgramme@MonServeur);
Ecran.Ecrire(EntrepotSysteme@MonServeur.TailleMemoireAllouee());
Ecran.Ecrire(EntrepotSysteme@MonServeur.TailleMemoireTotale());
Ecran.Ecrire(ServeurLocal.NomServeur);
Ecran.Ecrire(ServeurLocal@MonServeur.NomServeur);

F=Fichier("/tmp/essai.txt", EcritureTexte);
F.Ecrire("Bonjour\n");
F.Fermer();

CreerRepertoire("/tmp2@serveur");
CreerFichier("/tmp2/essai.txt@serveur");
CopierFichier("/tmp/essai.txt", "/tmp2/essai.txt@serveur");
CopierFichier("/tmp2/essai.txt@serveur", "/tmp/essai.txt");
CopierRepertoire("/tmp2@serveur", "/tmp3");
SupprimerFichier("/tmp2/essai.txt@serveur");
SupprimerRepertoire("/tmp2@serveur");
CopierRepertoire("/tmp3", "/tmp2@serveur");
SupprimerRepertoire("/tmp2@serveur");
RenommerRepertoire("/tmp3@serveur", "/tmp2@serveur");
ChangerDroitsDAcces("/tmp2/essai.txt@serveur", DroitLectureEcriture, DroitLecture, DroitLecture);
Selon LireDroitsDAcces("/tmp2/essai.txt@serveur", ?, ?) Faire Fin Selon
Ecran.Ecrire(LireCaracteristiquesFichier("/tmp2/essai.txt@serveur"));
SupprimerRepertoire("/tmp2");
Ecran.Ecrire("\n");

L1=ListerFichiers("/@serveur", Nul);
Pour FL=L1.ParcoursAuDebut() JusquA L1.DernierElement() Faire Fin Pour
Ecran.Ecrire("\n");

?=Executer@MonServeur("notepad.exe", Faux, Faux, E);
Ecran.Ecrire(E);
Fin Principal

Résultat de l'exécution

Bonjour Au r 4 evoir 5 Et a bientot 12 1 2.3 Vrai Et a bientot 12 On se synchronise 10 serveur 1024 1024 test5 Lecture, Ecriture et Execution 8 MSDOS.SYS autoexec.bat hiberfil.sys cygwin dos UNWISE.EXE INSTALL.LOG Z DELL pagefile.sys AUTOEXEC.DOS CONFIG.DOS LOGO.SYS compiere PDOXUSRS.NET WINDOWS CONFIG.SYS ZZ.EXE OSINFO.FRN mico DELL.SDR ZZTOP.BAT autoexec.000 sap ups110a boot.ini CHOICE.COM Z2.BAT Program Files ntldr Bootfont.bin io.sys ntdetect.com Up os726865.bin j2sdk1.4.2_04 WUTemp ftp TEMP tmp os110707.bin programmes téléchargés My Music BOOTSECT.DOS Documents and Settings Mes documents command.LNK System Volume Information Recycled 2200