[squeak-dev] inter-image communication and queueing suggestions?

gettimothy gettimothy at zoho.com
Fri Oct 15 12:32:40 UTC 2021

Thank you.

I was able to make the last example here: http://wiki.squeak.org/squeak/325  work.

For some reason, using UDP throws an error, I do not know why, and of course, I will waste time trying to figure out why.

I will give your  example a go next!

Then, I will try the pharo->squeak send.

this is fun!

Thank you.

---- On Fri, 15 Oct 2021 08:19:35 -0400 Marcel Taeumel <marcel.taeumel at hpi.de> wrote ----

Hi Timothy --

Sockets work something like this (even though network name resolving seems to be tricky on my Windows machine at the moment):

| hostName port serverSocket serverProcess clientSocket |

hostName := NetNameResolver localHostName.

port := 1234.

data := 'Hello World!'.

serverSocket := Socket newTCP.

serverSocket listenOn: port.

serverProcess := [

| receivedData |

serverSocket waitForConnectionFor: 10 "seconds".

Transcript showln: 'Server accepted client connection'.

receivedData := serverSocket receiveData.

Transcript showln: 'Data received: ', receivedData.

serverSocket closeAndDestroy.

] newProcess.

serverProcess priority: Processor userBackgroundPriority.

serverProcess resume. "or use #forkAt: directly on block"

clientSocket := Socket newTCP.


connectTo: (NetNameResolver addressFromString: hostName)

port: port.

Transcript showln: 'Client connected to server'.

Transcript showln: 'Data sent: ', (clientSocket sendData: data), ' bytes'.

clientSocket closeAndDestroy.



Am 15.10.2021 13:34:07 schrieb gettimothy <mailto:gettimothy at zoho.com>:


Thank you.

I have not found any information on sockets in SBE or PBE.  I will continue too look.

In my exploring, I thought JSON looked promising..pharo as a json server thingy that perhaps squeak could consume.

IIRC Stomp, which I have used previously on squeak has two side too, but I am not sure on this.



---- On Fri, 15 Oct 2021 04:16:35 -0400 Marcel Taeumel <mailto:marcel.taeumel at hpi.de> wrote ----

Hi Timothy --

If it is just a text stream, use sockets. If it is a data/byte stream ... well ... I am not sure whether the byte interpretation for structured objects is still compatible between Pharo and Squeak.

Maybe you could also use a file and two file streams, a writer in Pharo and a reader in Squeak, as intermediary ...



Am 14.10.2021 15:24:23 schrieb gettimothy via Squeak-dev <mailto:squeak-dev at lists.squeakfoundation.org>:

Hi Folks,

I have used ApacheMQ(?) and Stomp in squeak to communicate between squeak and a C++ application, it worked well, but I would like to avoid this for my project.

What I (will) have is a pharo image that will parse a large XML document for me (squeak has FileSystem incompatabilities that SAXHandler etc need)  .

During a SAXHandler callback, I want to kick this to an image that will parse some data using a PEG grammar I wrote and that needs some automated testing to perfect.

Communication  I would like is  pharo (sax) -> squeak(xtreams-parsing).

Some basic reading showed rST from about 2005? as a possibility as well as Nebraska,which I believe has been removed from Squeak several releases ago.

I have used neither of them.

If there is not a method I can make work, then I will do pharo(sax/stomp)->ApacheMQ->squeak(stomp/xtreams-parsing), but I prefer a pure smalltalk mechanism.

I still have a textbook of mpq(?) queues from a course I really enjoyed and pharo(sax)->squeak(queueing)->squeak(xtreams-parsing) would be really cool.

thx in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20211015/f20282a3/attachment.html>

More information about the Squeak-dev mailing list