Inter-image communication

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

Inter-image communication

Sean P. DeNigris
Administrator
How would I, from one image, tell another image to execute something?

I searched Google and the Squeak and Pharo lists for:
- "[Pharo|Squeak] inter-image communication"
- "[Pharo|Squeak] script"

The results included various references to old projects that I never hear mentioned now, and instructions on how to run code (via a .st as an argument to the vm command line) when launching an image.

Thanks.
Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Stéphane Ducasse
rst?

RemoteSmalltalk?



>
> How would I, from one image, tell another image to execute something?
>
> I searched Google and the Squeak and Pharo lists for:
> - "[Pharo|Squeak] inter-image communication"
> - "[Pharo|Squeak] script"
>
> The results included various references to old projects that I never hear
> mentioned now, and instructions on how to run code (via a .st as an argument
> to the vm command line) when launching an image.
>
> Thanks.
> Sean
> --
> View this message in context: http://forum.world.st/Inter-image-communication-tp2320723p2320723.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Schwab,Wilhelm K
Which ultimately depends on sockets.  Hopefully the next pass will support OpenSSL and be adaptable to things like IrDA (by having hooks sufficient to support anything that makes itself look like a socket), and make either robust use of asynchronous operations or OS threads to the point that non-responsive peers or DNS servers never lock the entire image, just the calling process.  ConnectionQueue polls for connections - there needs to be either another semaphore, or another job for one that exists, allowing a process to wait until a client connects rather than looping and adding time delays  :(

Andreas' SSL plugin might be a good starting point or perhaps one part of a good solution??

Testing needs to be brutal, including viciously timed loss of power to network infrastructure.  I am not sure if I can do that at work anymore, but I certainly can build an intranet.  In fact, I have a really nice "old" machine that I rescued from the gas chamber, and an embedded computer (expected soon) that is part of a beta program and needs to be abused in various creative ways.  Between them, I should be able to set up a very nice testing ground for network error handling.

Bill


________________________________________
From: [hidden email] [[hidden email]] On Behalf Of Stéphane Ducasse [[hidden email]]
Sent: Wednesday, August 11, 2010 4:26 AM
To: [hidden email]
Subject: Re: [Pharo-project] Inter-image communication

rst?

RemoteSmalltalk?



>
> How would I, from one image, tell another image to execute something?
>
> I searched Google and the Squeak and Pharo lists for:
> - "[Pharo|Squeak] inter-image communication"
> - "[Pharo|Squeak] script"
>
> The results included various references to old projects that I never hear
> mentioned now, and instructions on how to run code (via a .st as an argument
> to the vm command line) when launching an image.
>
> Thanks.
> Sean
> --
> View this message in context: http://forum.world.st/Inter-image-communication-tp2320723p2320723.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Sean P. DeNigris
Administrator
In reply to this post by Stéphane Ducasse
Stéphane Ducasse wrote
rst?
RemoteSmalltalk?
rst = RemoteSmalltalk = SO COOL!!!

I easily shared objects from a Pharo 1.1 image with 4 other local images - including a Squeak 4.1 image!


For a hoot:

1. In a Pharo 1.1 image with rST installed doit:
"Transcript open.
RSTSamples serverStartup"

2. In a Squeak 4.1 image with rST installed doit:
"RSTBroker
        startOnPort: self clientPort
        logging: false.

remoteTranscript := ('Transcript@' , self serverBrokerID) asLocalObject.
remoteTranscript show: 'everything is ok! (from client side)';
        cr"

3. Pick up jaw after you see that the squeak image has sent a message to the Pharo image's Transcript, whose contents now appear as 'everything is ok! (from client side)'

n.b. According to the docs, in both images, doit: "RSTBroker stop"


How to load:
I have no write access to rST, so the required packages can be loaded as follows:
"Gofer new
        squeaksource: 'KomHttpServer';
        package: 'DynamicBindings';
        load.
       
Gofer new
        squeaksource: 'KomHttpServer';
        package: 'KomServices';
        load.
       
Gofer new
        squeaksource: 'SPDProjectUpdates';
        package: 'rST';
        load."

Thanks for the pointer!

1.  This seriously frees me to play with objects in different forks and versions because I know I can beam the live objects to another image whenever I want, and not have them stranded.
2.  This seems like it should be perfect for scripting an image, but what shared object would allow arbitrary code to be run on the server?  I played with Workspace, but got lost down the delegation rabbit hole

Sean

p.s. I got it loading with minimal changes - just had to fix the underscore assignments, and break the dependency to an old version of KomServices.
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

hilaire
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Adrian Lienhard
In reply to this post by Sean P. DeNigris
Hi Sean,

Thanks for sharing this. Is there a way you can put this online permanently, e.g., in a small blog post? I'm sure this is going to be of interest to other people...

Cheers,
Adrian

On Aug 11, 2010, at 20:17 , Sean P. DeNigris wrote:

>
>
> Stéphane Ducasse wrote:
>>
>> rst?
>> RemoteSmalltalk?
>>
>
> rst = RemoteSmalltalk = SO COOL!!!
>
> I easily shared objects from a Pharo 1.1 image with 4 other local images -
> including a Squeak 4.1 image!
>
>
> For a hoot:
>
> 1. In a Pharo 1.1 image with rST installed doit:
> "Transcript open.
> RSTSamples serverStartup"
>
> 2. In a Squeak 4.1 image with rST installed doit:
> "RSTBroker
> startOnPort: self clientPort
> logging: false.
>
> remoteTranscript := ('Transcript@' , self serverBrokerID) asLocalObject.
> remoteTranscript show: 'everything is ok! (from client side)';
> cr"
>
> 3. Pick up jaw after you see that the squeak image has sent a message to the
> Pharo image's Transcript, whose contents now appear as 'everything is ok!
> (from client side)'
>
> n.b. According to the docs, in both images, doit: "RSTBroker stop"
>
>
> How to load:
> I have no write access to rST, so the required packages can be loaded as
> follows:
> "Gofer new
> squeaksource: 'KomHttpServer';
> package: 'DynamicBindings';
> load.
>
> Gofer new
> squeaksource: 'KomHttpServer';
> package: 'KomServices';
> load.
>
> Gofer new
> squeaksource: 'SPDProjectUpdates';
> package: 'rST';
> load."
>
> Thanks for the pointer!
>
> 1.  This seriously frees me to play with objects in different forks and
> versions because I know I can beam the live objects to another image
> whenever I want, and not have them stranded.
> 2.  This seems like it should be perfect for scripting an image, but what
> shared object would allow arbitrary code to be run on the server?  I played
> with Workspace, but got lost down the delegation rabbit hole
>
> Sean
>
> p.s. I got it loading with minimal changes - just had to fix the underscore
> assignments, and break the dependency to an old version of KomServices.
> --
> View this message in context: http://forum.world.st/Inter-image-communication-tp2320723p2321673.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Ralph Boland
In reply to this post by Sean P. DeNigris
Some time back I posted (to Squeak) the idea of doing development using
two images.  One image would be your development image, i.e. the image
you would eventually release as your product.  It would be a
restricted version of the
image you have in Squeak/Pharo now.
The other image would be your software development tool image,
roughly analogous to what the Eclipse development environment is.
The advantage of such a set up would be that changes to your development image
would not blow up your tool image.  You could also leave out anything from your
development image you didn't actually need in you product such as
perhaps editors, debuggers, windows, etc. depending upon what software
your product actually needed.
I have no plans to actually try this anytime soon.
But I am wondering:

Would RemoteSmalltalk be helpful in (be a foundation for) creating
such a utility?

Regards,

Ralph Boland


Le 11/08/2010 20:17, Sean P. DeNigris a ?crit :

>
>
> St?phane Ducasse wrote:
>>
>> rst?
>> RemoteSmalltalk?
>>
>
> rst = RemoteSmalltalk = SO COOL!!!
>
> I easily shared objects from a Pharo 1.1 image with 4 other local images -
> including a Squeak 4.1 image!
>
>
> For a hoot:
>
> 1. In a Pharo 1.1 image with rST installed doit:
> "Transcript open.
> RSTSamples serverStartup"
>
> 2. In a Squeak 4.1 image with rST installed doit:
> "RSTBroker
>       startOnPort: self clientPort
>       logging: false.
>
> remoteTranscript := ('Transcript@' , self serverBrokerID) asLocalObject.
> remoteTranscript show: 'everything is ok! (from client side)';
>       cr"
>
> 3. Pick up jaw after you see that the squeak image has sent a message to the
> Pharo image's Transcript, whose contents now appear as 'everything is ok!
> (from client side)'
>
> n.b. According to the docs, in both images, doit: "RSTBroker stop"
>
>
> How to load:
> I have no write access to rST, so the required packages can be loaded as
> follows:
> "Gofer new
>       squeaksource: 'KomHttpServer';
>       package: 'DynamicBindings';
>       load.
>
> Gofer new
>       squeaksource: 'KomHttpServer';
>       package: 'KomServices';
>       load.
>
> Gofer new
>       squeaksource: 'SPDProjectUpdates';
>       package: 'rST';
>       load."
>
> Thanks for the pointer!
>
> 1.  This seriously frees me to play with objects in different forks and
> versions because I know I can beam the live objects to another image
> whenever I want, and not have them stranded.
> 2.  This seems like it should be perfect for scripting an image, but what
> shared object would allow arbitrary code to be run on the server?  I played
> with Workspace, but got lost down the delegation rabbit hole
>
> Sean
>
> p.s. I got it loading with minimal changes - just had to fix the underscore
> assignments, and break the dependency to an old version of KomServices.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Noury Bouraqadi-2
In reply to this post by hilaire
Yes.

On 11 août 2010, at 21:04, Hilaire Fernandes wrote:

> Does it work over a LAN?
>
> Hilaire
>
> Le 11/08/2010 20:17, Sean P. DeNigris a écrit :
>>
>>
>> Stéphane Ducasse wrote:
>>>
>>> rst?
>>> RemoteSmalltalk?
>>>
>>
>> rst = RemoteSmalltalk = SO COOL!!!
>>
>> I easily shared objects from a Pharo 1.1 image with 4 other local images -
>> including a Squeak 4.1 image!
>>
>>
>> For a hoot:
>>
>> 1. In a Pharo 1.1 image with rST installed doit:
>> "Transcript open.
>> RSTSamples serverStartup"
>>
>> 2. In a Squeak 4.1 image with rST installed doit:
>> "RSTBroker
>> startOnPort: self clientPort
>> logging: false.
>>
>> remoteTranscript := ('Transcript@' , self serverBrokerID) asLocalObject.
>> remoteTranscript show: 'everything is ok! (from client side)';
>> cr"
>>
>> 3. Pick up jaw after you see that the squeak image has sent a message to the
>> Pharo image's Transcript, whose contents now appear as 'everything is ok!
>> (from client side)'
>>
>> n.b. According to the docs, in both images, doit: "RSTBroker stop"
>>
>>
>> How to load:
>> I have no write access to rST, so the required packages can be loaded as
>> follows:
>> "Gofer new
>> squeaksource: 'KomHttpServer';
>> package: 'DynamicBindings';
>> load.
>>
>> Gofer new
>> squeaksource: 'KomHttpServer';
>> package: 'KomServices';
>> load.
>>
>> Gofer new
>> squeaksource: 'SPDProjectUpdates';
>> package: 'rST';
>> load."
>>
>> Thanks for the pointer!
>>
>> 1.  This seriously frees me to play with objects in different forks and
>> versions because I know I can beam the live objects to another image
>> whenever I want, and not have them stranded.
>> 2.  This seems like it should be perfect for scripting an image, but what
>> shared object would allow arbitrary code to be run on the server?  I played
>> with Workspace, but got lost down the delegation rabbit hole
>>
>> Sean
>>
>> p.s. I got it loading with minimal changes - just had to fix the underscore
>> assignments, and break the dependency to an old version of KomServices.
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Noury Bouraqadi-2
In reply to this post by Ralph Boland

On 12 août 2010, at 15:58, Ralph Boland wrote:
>
> Would RemoteSmalltalk be helpful in (be a foundation for) creating
> such a utility?
>
Yes. But, we need an appropriate set of tools. We (Douai's team) developed a few tools a while ago as part of the UbiquiTalk project. We had a remote-workspace working quite fine. We started an experiment with a remote browser based on omni-browser. But, it was a failure. Omnibrowser does a lot of computations resulting into a lot of network traffic. The browser was to slow to be usable. We started introducing caches, but there were too many things to cache so we gave up.

Noury

> Regards,
>
> Ralph Boland
>
>
> Le 11/08/2010 20:17, Sean P. DeNigris a ?crit :
>>
>>
>> St?phane Ducasse wrote:
>>>
>>> rst?
>>> RemoteSmalltalk?
>>>
>>
>> rst = RemoteSmalltalk = SO COOL!!!
>>
>> I easily shared objects from a Pharo 1.1 image with 4 other local images -
>> including a Squeak 4.1 image!
>>
>>
>> For a hoot:
>>
>> 1. In a Pharo 1.1 image with rST installed doit:
>> "Transcript open.
>> RSTSamples serverStartup"
>>
>> 2. In a Squeak 4.1 image with rST installed doit:
>> "RSTBroker
>>      startOnPort: self clientPort
>>      logging: false.
>>
>> remoteTranscript := ('Transcript@' , self serverBrokerID) asLocalObject.
>> remoteTranscript show: 'everything is ok! (from client side)';
>>      cr"
>>
>> 3. Pick up jaw after you see that the squeak image has sent a message to the
>> Pharo image's Transcript, whose contents now appear as 'everything is ok!
>> (from client side)'
>>
>> n.b. According to the docs, in both images, doit: "RSTBroker stop"
>>
>>
>> How to load:
>> I have no write access to rST, so the required packages can be loaded as
>> follows:
>> "Gofer new
>>      squeaksource: 'KomHttpServer';
>>      package: 'DynamicBindings';
>>      load.
>>
>> Gofer new
>>      squeaksource: 'KomHttpServer';
>>      package: 'KomServices';
>>      load.
>>
>> Gofer new
>>      squeaksource: 'SPDProjectUpdates';
>>      package: 'rST';
>>      load."
>>
>> Thanks for the pointer!
>>
>> 1.  This seriously frees me to play with objects in different forks and
>> versions because I know I can beam the live objects to another image
>> whenever I want, and not have them stranded.
>> 2.  This seems like it should be perfect for scripting an image, but what
>> shared object would allow arbitrary code to be run on the server?  I played
>> with Workspace, but got lost down the delegation rabbit hole
>>
>> Sean
>>
>> p.s. I got it loading with minimal changes - just had to fix the underscore
>> assignments, and break the dependency to an old version of KomServices.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Göran Krampe
In reply to this post by Ralph Boland
On 08/12/2010 03:58 PM, Ralph Boland wrote:

> Some time back I posted (to Squeak) the idea of doing development using
> two images.  One image would be your development image, i.e. the image
> you would eventually release as your product.  It would be a
> restricted version of the
> image you have in Squeak/Pharo now.
> The other image would be your software development tool image,
> roughly analogous to what the Eclipse development environment is.
> The advantage of such a set up would be that changes to your development image
> would not blow up your tool image.  You could also leave out anything from your
> development image you didn't actually need in you product such as
> perhaps editors, debuggers, windows, etc. depending upon what software
> your product actually needed.
> I have no plans to actually try this anytime soon.
> But I am wondering:
>
> Would RemoteSmalltalk be helpful in (be a foundation for) creating
> such a utility?

In fact, the most ambitious effort in this direction is the stuff Craig
Latta did in Spoon. He created a "umbilical cord" on the VM level so he
could do really transparent remote debugging etc.

This was needed since he wanted to create a real minimal image, and he
got down below 100kb, but that was probably very hard to do without
these special "remote" tools.

regards, Göran

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Göran Krampe
In reply to this post by Stéphane Ducasse
On 08/11/2010 10:26 AM, Stéphane Ducasse wrote:
> rst?
>
> RemoteSmalltalk?

Yes, and there are multiple other packages too.

A few other things that might be interesting in "inter image communication":

- D-Bus. Bert and the guys made a rather ambitious plugin for libdbus
and stuff above it. This is not interesting for Squeak2Squeak, but
definitely interesting for cross language stuff.

- Message Queues. There are tons of these today, like RabbitMQ, ActiveMQ
etc etc. And there is an AMQP protocol implementation on SS, and
yesterday I released a first shot at a STOMP implementation too! These
message queues implement publish/subscribe models etc so they are
different beasts, but IMHO possible more interesting than "straight RPC".

- If you go for a transport level that is "non Smalltalk", like say a
message queue above, then Tirade (also on SS) could work as a fast way
to "serialize messages" through such a transport. When I get STOMP
finished I will make a simple demo of that.

Also, writing a forking Socket server is really simple in Squeak. The
Blackfoot package on SS can act as a really simple and documented
example of such a server.

Also, if you want to play around with character/byte-streams between
Squeak Processes (in one image) then the SharedStreams package is neat -
in fact, I think it should be included in the "standard library", and
probably also replace SharedQueue.

regards, Göran

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Stéphane Ducasse

On Aug 12, 2010, at 8:37 PM, Göran Krampe wrote:

> On 08/11/2010 10:26 AM, Stéphane Ducasse wrote:
>> rst?
>>
>> RemoteSmalltalk?
>
> Yes, and there are multiple other packages too.
>
> A few other things that might be interesting in "inter image communication":
>
> - D-Bus. Bert and the guys made a rather ambitious plugin for libdbus and stuff above it. This is not interesting for Squeak2Squeak, but definitely interesting for cross language stuff.
>
> - Message Queues. There are tons of these today, like RabbitMQ, ActiveMQ etc etc. And there is an AMQP protocol implementation on SS, and yesterday I released a first shot at a STOMP implementation too! These message queues implement publish/subscribe models etc so they are different beasts, but IMHO possible more interesting than "straight RPC".
>
> - If you go for a transport level that is "non Smalltalk", like say a message queue above, then Tirade (also on SS) could work as a fast way to "serialize messages" through such a transport. When I get STOMP finished I will make a simple demo of that.

I really want that

> Also, writing a forking Socket server is really simple in Squeak. The Blackfoot package on SS can act as a really simple and documented example of such a server.

It would be a nice example for the chapter on Socket noury and luc are writing for the new book.


>
> Also, if you want to play around with character/byte-streams between Squeak Processes (in one image) then the SharedStreams package is neat - in fact, I think it should be included in the "standard library", and probably also replace SharedQueue.

open a ticket :)

>
> regards, Göran
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Sean P. DeNigris
Administrator
In reply to this post by Adrian Lienhard
Adrian Lienhard wrote
Thanks for sharing this. Is there a way you can put this online permanently, e.g., in a small blog post? I'm sure this is going to be of interest to other people...
Yes, I will.

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Sean P. DeNigris
Administrator
In reply to this post by Noury Bouraqadi-2
Noury Bouraqadi-2 wrote
Yes. But, we need an appropriate set of tools. We (Douai's team) developed a few tools a while ago as part of the UbiquiTalk project. We had a remote-workspace working quite fine.
Is this code available?  Remote workspace was the first thing I noticed missing from my rST experience.

Thanks,
Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Mariano Martinez Peck


On Sat, Aug 14, 2010 at 4:11 PM, Sean P. DeNigris <[hidden email]> wrote:


Noury Bouraqadi-2 wrote:
>
> Yes. But, we need an appropriate set of tools. We (Douai's team) developed
> a few tools a while ago as part of the UbiquiTalk project. We had a
> remote-workspace working quite fine.
>

Is this code available?  
Remote workspace was the first thing I noticed
missing from my rST experience.

Thanks,
Sean
--
View this message in context: http://forum.world.st/Inter-image-communication-tp2320723p2325234.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

_______________________________________________


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Noury Bouraqadi-2

On 14 août 2010, at 18:53, Mariano Martinez Peck wrote:

>
>
> On Sat, Aug 14, 2010 at 4:11 PM, Sean P. DeNigris <[hidden email]> wrote:
>
>
> Noury Bouraqadi-2 wrote:
> >
> > Yes. But, we need an appropriate set of tools. We (Douai's team) developed
> > a few tools a while ago as part of the UbiquiTalk project. We had a
> > remote-workspace working quite fine.
> >
>
> Is this code available?  
>
> I guess
> http://www.squeaksource.com/UbiquiTalk

Yes.
More info on: http://vst.ensm-douai.fr/UbiquiTalk

Noury


> Thanks,
> Sean
> --
> View this message in context: http://forum.world.st/Inter-image-communication-tp2320723p2325234.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Noury



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Sean P. DeNigris
Administrator
While some of the suggestions (AMQP, STOMP) were over my head, I'm in the process of getting UbiquiTalk to work and already have rST going.

But, for my use case i.e. sending remote commands between (only) two images on the same machine, why not just send the commands as strings over a socket, and evaluate them with the compiler?  Obviously there's no security, but since it's in-house only...  A proof-of-concept is below:

Server image:
server := Socket newTCP.
server listenOn: 8081.
server waitForConnectionFor: 600.
server sendData: 'Workspace open'

Client image:
client := Socket newTCP.
client connectTo: (NetNameResolver localHostAddress) port: 8081.
Compiler evaluate: client receiveData.

Add a loop and we're all set.

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Noury Bouraqadi-2
Sean,

I added you as a developer to the rST project as well as UbiquiTalk.

Noury
On 30 août 2010, at 21:29, Sean P. DeNigris wrote:

>
> While some of the suggestions (AMQP, STOMP) were over my head, I'm in the
> process of getting UbiquiTalk to work and already have rST going.
>
> But, for my use case i.e. sending remote commands between (only) two images
> on the same machine, why not just send the commands as strings over a
> socket, and evaluate them with the compiler?  Obviously there's no security,
> but since it's in-house only...  A proof-of-concept is below:
>
> Server image:
> server := Socket newTCP.
> server listenOn: 8081.
> server waitForConnectionFor: 600.
> server sendData: 'Workspace open'
>
> Client image:
> client := Socket newTCP.
> client connectTo: (NetNameResolver localHostAddress) port: 8081.
> Compiler evaluate: client receiveData.
>
> Add a loop and we're all set.
>
> Sean
> --
> View this message in context: http://forum.world.st/Inter-image-communication-tp2320723p2400616.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Noury



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Inter-image communication

Sean P. DeNigris
Administrator
Noury Bouraqadi-2 wrote
I added you as a developer to the rST project as well as UbiquiTalk.
Thanks, I'll copy the files over.

Sean
Cheers,
Sean