Menu

#4 Module Control et localisation des clients sur un site

Modules
open
nobody
5
2004-05-06
2004-05-06
iri
No

Le code du module Control permet d'afficher dans la
fenętre Cliente, aprčs l'IP, le nom de la cellule 3d
dans lequel un visiteur se trouve. Ceci est utile
lorsque le site contient plusieurs cellule 3d.
Or cela ne fonctionnait pas.

En fait la fonction 'in' de la partie Serveur de
Control 'controls.pkg' est incomplčte :
l'initialisation de la liste
localisations [[CLIENT S] r1] reste ŕ [CLIENT nil] et
non [CLIENT nom_cel3d].

...
typeof localisations = [[CLIENT S] r1];;
...

fun in(cli)=
if (!_DMSclientAlive cli)|| findList clis cli then nil
else
(set clis=cli::clis;
set localisations = [cli nil]::localisations;
apply_on_list ll @broad CaddUser [createCli cli];
0);;

Pour résoudre ce pb, j'ai recodé ainsi la fonction 'in' :

fun in(cli, from)=
if (!_DMSclientAlive cli)|| findList clis cli then nil
else
(set clis=cli::clis;
set localisations = [cli _DMSgetName
from]::localisations;
apply_on_list ll @broad CaddUser [createCli cli];
0);;

L'appel de cette fonction se faisant alors :

fun activate(from,cli,action,param,rep)=
...
else if !strcmp action "register" then
in cli from
...

et non plus :

else if !strcmp action "register" then
in cli

Les liens sous le SCS restent les męmes qu'auparavant :
C3D3.in -> Control.register
C3D3.out -> Control.unregister

A tester et ŕ valider éventuellement.

Discussion

  • iri

    iri - 2004-05-06

    controls.pkg, dcompresser dans dms\admin\control

     
  • reveur

    reveur - 2004-05-08

    Logged In: YES
    user_id=1036632

    j'ai remplac le fichier existant par celui en pice jointe
    merci iri
    j'ai ouverts scs 2.5
    j'ai fait "reconstruire"
    j'ai ouvert scolville
    j'ai sauvegard et lanc le site
    quand j'ouvre le module "controle"
    j'ai bien l'adresse ip et "scolville" gauche
    quand j'entre dans une autre cellule
    c'est toujours "scolville" d'afficher
    est-ce que a vient du fait que j'ai control cel uniquement
    en ma prsence
    et que cela fonctionnerait avec les autres ?

     
  • iri

    iri - 2004-05-08

    Logged In: YES
    user_id=1035352

    Il est probable que tu as mis les liens :
    Shell.in >> control.register

    Dans ce cas, ce sera le nom du module Shell (= nom du site)
    qui sera enregistr.

    Pour avoir le nom des cellules3d il faut enlever ce lien et,
    pour chaque C3D3 mettre le lien :
    C3D3.in >> Control.register

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.