Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 26-10-2011 08:29:36

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Connection Client to Client

Bonjour les gens!

J'aimerai que quelqu'un satisfasse ma curiosité: existe-t-il un moyen en PB pour établir des connections client-to-client? Quels objets utiliser?

Bête exemple: client 1 essaie de lire la variable globale 2 du client 2. How to do that? (ou encore client 1 essaie de lire la variable d'instance de l'objet 2 du client 2)

Un grand merci d'avance ;-)

Dernière modification par Shed (26-10-2011 08:30:46)

Hors ligne

 

#2 26-10-2011 11:25:13

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Connection Client to Client

Dans quel but ?

Des solutions pour faire communiquer 2 applications, ça existe (mailslot, corba, tcp...) à condition sans doute de définir un protocole de dialogue.
Mais un truc pour accéder directement à des propriétés d'un objet se trouvant dans une autre application ou instance de l'application, à priori je ne vois pas.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#3 27-10-2011 06:49:41

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

Ouaip, c'est bien ce que je me disais. Pas d'équivalent d'objet de communication pour le client-to-client.

J'ai trouvé ceci: http://www.level5software.net/documents/Pslib21.htm

D'après ce que j'ai compris, c'est un sender d'un coté, un listener de l'autre et la possibilité de faire transiter des blobs en tcp/ip d'une machine à une autre. Par contre, ça m'a l'air assez vieux, et puis faut aussi tout coder les interfaces de communication, parce que c'est cool de pouvoir faire transiter des blobs, mais ça ne reste jamais que des blobs. Ca m'étonne quand même que personne n'ait jamais développé de librairie pour ce genre de choses.

----------

seki a écrit:

Dans quel but ?

La même chose que chaque nuit Minus: tenter de conquérir le moooOOOoooooOOOnde!

Dernière modification par Shed (27-10-2011 06:52:38)

Hors ligne

 

#4 27-10-2011 09:04:46

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Connection Client to Client

seki a écrit:

Dans quel but ?




Sinon, tu peux toujours passer par la base de données, ça sera plus simple.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 27-10-2011 09:18:48

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Connection Client to Client

The PowerSocket Library...

Shed a écrit:

D'après ce que j'ai compris, c'est un sender d'un coté, un listener de l'autre et la possibilité de faire transiter des blobs en tcp/ip d'une machine à une autre. Par contre, ça m'a l'air assez vieux, et puis faut aussi tout coder les interfaces de communication, parce que c'est cool de pouvoir faire transiter des blobs, mais ça ne reste jamais que des blobs. Ca m'étonne quand même que personne n'ait jamais développé de librairie pour ce genre de choses.

Comme tu dis, en socket il faut se farcir toute le protocole...
Autant utiliser un autre canal de communication comme les mailslots qui simplifient grandement la communication (un process ouvre la mailslot et envoie des messages dedans -un peu comme un pipe-, un ou plusieurs autres process -éventuellement écrits dans un autre langage ou sur une autre machine- viennet ensuite lire les messages de manière asynchrone) seulement une fois qu'on a fait transiter les données d'un objet dans le tuyau, il faut encore pouvoir transformer les blobs en objets vivants dans la VM de destination... Et pour faire Frankenstein, en tête je ne vois que corba, qui permet de transmettre des objets. Ceci dit ça ne répond pas à la problématique de départ ou un objet A veut accéder à des propriétés d'un objet B ailleurs.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#6 27-10-2011 11:27:56

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

erasorz a écrit:

seki a écrit:

Dans quel but ?




Sinon, tu peux toujours passer par la base de données, ça sera plus simple.

Parce que je suis naturellement curieux et naturellement fun ^^. J'me suis créé un petit jeu style jeu de dames en pb et j'me suis simplement demandé si j'pourrais y jouer avec mes collègues :-) (ok, on est loin de la domination du monde...)

Passer par une base de données pour faire ça, clairement non. J'ai pas envie de mettre en place une DB pour ça. Et puis ça m'oblige à développer moi même le listener qui va aller checker la DB toute les x dixièmes de secondes pour prendre en compte les changement (l'éternel problème), c'est pas propre.

Hors ligne

 

#7 27-10-2011 11:33:26

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

seki a écrit:

The PowerSocket Library...

C'est quand même amusant, on dirait que tu parles de ça comme d'un viel artefact perdu.
Ca sent les anciennes prises de tête là-dessous :-)

Hors ligne

 

#8 27-10-2011 11:38:35

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Connection Client to Client

Shed a écrit:

Et puis ça m'oblige à développer moi même le listener qui va aller checker la DB toute les x dixièmes de secondes pour prendre en compte les changement (l'éternel problème), c'est pas propre.

Dans tous les cas tu seras obligé de faire un "listener"


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#9 27-10-2011 11:50:29

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Connection Client to Client


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#10 27-10-2011 11:54:13

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

erasorz a écrit:

Shed a écrit:

Et puis ça m'oblige à développer moi même le listener qui va aller checker la DB toute les x dixièmes de secondes pour prendre en compte les changement (l'éternel problème), c'est pas propre.

Dans tous les cas tu seras obligé de faire un "listener"

Oui mais:
- Quelqu'un a peut-être déjà écrit des choses pour ça (d'où mon post)
- Je pense pas que harceler une DB soit le meilleur moyen d'implémenter ça.

Hors ligne

 

#11 27-10-2011 12:13:05

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 712
Pépites: 11,315
Banque: 100,221,387,868,884,300
Site web

Re: Connection Client to Client

Ton besoin semble assez proche du mailslot que propose seki (d'ailleurs il me semble qu'il à un objet PB pour çà à dispo) : cela te permet de gérer la couche messagerie.
Cependant il n'y a pas la couche d'interface 'automagique' pour piloter/interroger un objet PB instancié powerobject1 sur HOST1 depuis HOST2.

J'ai bien une idée pour se rapprocher de çà mais c'est encore dans mon labo ...

Dernière modification par xlat (27-10-2011 12:34:25)


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#12 27-10-2011 12:39:15

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

xlat a écrit:

Ton besoin semble assez proche du mailslot que propose seki (d'ailleurs il me semble qu'il à un objet PB pour çà à dispo) : cela te permet de gérer la couche messagerie.
Cependant il n'y a pas la couche d'interface 'automagique' pour piloter/interroger un objet PB instancié powerobject1 sur HOST1 depuis HOST2.

J'ai bien une idée pour se rapprocher de çà mais c'est encore dans mon labo ...

librairie PB? Ca pourrait m'intéresser.

Hors ligne

 

#13 27-10-2011 13:26:06

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

C'est moi ou on savait faire ça avant avec PB????

http://techno-kitten.com/Changes_to_Pow … puting.htm

-_-

Quand tu vas voir la doc sybase à ce sujet là, tu as droit à: "Coucou les loulous, on a arreter de suivre ce machin à PB8, si vous voulez du serveur prenez notre EAS usine à gaz".

Hors ligne

 

#14 27-10-2011 13:28:30

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Connection Client to Client

Shed a écrit:

librairie PB? Ca pourrait m'intéresser.

Je viens de publier mon proof-of-concept dans un autre post de PBadonf.

En cherchant bien, on doit pouvoir trouver des bugs encore non corrigés, toute dénonciation est bienvenue


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#15 27-10-2011 13:31:02

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 712
Pépites: 11,315
Banque: 100,221,387,868,884,300
Site web

Re: Connection Client to Client

Shed a écrit:

C'est moi ou on savait faire ça avant avec PB????

http://techno-kitten.com/Changes_to_Pow … puting.htm

-_-

Quand tu vas voir la doc sybase à ce sujet là, tu as droit à: "Coucou les loulous, on a arreter de suivre ce machin à PB8, si vous voulez du serveur prenez notre EAS usine à gaz".

Yep, 

et tu veux pas installer une EAServer pour jouer aux dames ?


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#16 27-10-2011 13:54:58

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2485
Pépites: 82
Banque: 9,223,372,036,854,776,000

Re: Connection Client to Client

Oui, le fameux objet transport qu'ils ont


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#17 27-10-2011 14:13:56

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

Hummm... dommage... je crois que c'est ce qu'il m'aurait fallu.

Hors ligne

 

#18 27-10-2011 14:45:46

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

Non mais c'est complètement mercantile d'avoir fait ça... je m'insurge... ça avait l'air génial cet objet...

Hors ligne

 

#19 27-10-2011 15:01:08

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2485
Pépites: 82
Banque: 9,223,372,036,854,776,000

Re: Connection Client to Client

Shed a écrit:

Non mais c'est complètement mercantile d'avoir fait ça... je m'insurge... ça avait l'air génial cet objet...

Ca l'était effectivement


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#20 27-10-2011 15:03:30

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

Pas de bidouille possible pour récupérer ça?
J'imagine que je ne suis pas le premier à dire ce genre de choses...

Hors ligne

 

#21 27-10-2011 15:11:23

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Connection Client to Client

Shed a écrit:

Non mais c'est complètement mercantile d'avoir fait ça... je m'insurge... ça avait l'air génial cet objet...

tu n'es pas le premier à t'insurger : http://pbadonf.fr/forum/viewtopic.php?pid=22072


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#22 27-10-2011 15:15:52

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

Oui

Hors ligne

 

#23 27-10-2011 15:23:12

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Connection Client to Client

Sinon il y a un exemple de winsock pour PB sur codexchange (il faut juste créer un login gratuit) : http://downloads.sybase.com/codexchange … sock32.pbl


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#24 27-10-2011 15:30:22

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Connection Client to Client

Je l'ai déjà
Je crois que je vais m'orienter par là ou alors en utilisant ce que seki a développé.

J'me demande quand même comment je vais coder toute la partie "triggering".
Avec un timer à mon avis.

Hors ligne

 

#25 28-10-2011 06:44:59

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 712
Pépites: 11,315
Banque: 100,221,387,868,884,300
Site web

Re: Connection Client to Client

Shed a écrit:

xlat a écrit:

...
J'ai bien une idée pour se rapprocher de çà mais c'est encore dans mon labo ...

librairie PB? Ca pourrait m'intéresser.

oui, c'est un PBNI, qui permet de scripter du powerbuilder en perl, d'où ma citation

xlat a écrit:

la couche d'interface 'automagique' pour piloter/interroger un objet PB

Par exemple, tu pourrais envoyer un script depuis HOST2 à HOST1 qui l’exécuterait et çà pourrait ressembler à çà:

Code: perl

$w_dammes->Of_play('host2', 'Row3Column2', 'Row4Column3')


et donc en pb :

Code: pb

in_perl.eval( ls_script )

https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22