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

Herbert König herbertkoenig at gmx.net
Fri Oct 15 13:12:36 UTC 2021


Hi Marcel,

to my best knowledge the first 32K of 64K possible ports are occupied.
https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
So if you randomly choose one of them, you might get conflicts with a
service running on your computer on that port.

I always use port numbers at the upper end of the range.

Looking at the above page port 1234 is assigned by IANA to the infoseek
search agent and unofficially used by the VNC client.

Cheers,

Herbert

Am 15.10.2021 um 14:19 schrieb Marcel Taeumel:
> 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.
> clientSocket
> connectTo: (NetNameResolver addressFromString: hostName)
> port: port.
> Transcript showln: 'Client connected to server'.
>
> Transcript showln: 'Data sent: ', (clientSocket sendData: data), ' bytes'.
> clientSocket closeAndDestroy.
>
> Best,
> Marcel
>>
>> Am 15.10.2021 13:34:07 schrieb gettimothy <gettimothy at zoho.com>:
>>
>>
>> Marcel,
>>
>> 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.
>>
>> cheers,
>>
>> t
>>
>>
>>
>> ---- On Fri, 15 Oct 2021 04:16:35 -0400 *Marcel Taeumel
>> <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 ...
>>
>>     Best,
>>     Marcel
>>
>>         Am 14.10.2021 15:24:23 schrieb gettimothy via Squeak-dev
>>         <squeak-dev at lists.squeakfoundation.org
>>         <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/e61a2344/attachment.html>


More information about the Squeak-dev mailing list