Network Communications Information Missing From Docs

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

Network Communications Information Missing From Docs

highbeg
information on Sockets programming appears to be missing from
gnu-smalltalk-doc section 3.8. See below. if anybody knows where the
information (UDP and TCP examples) on gnu-smalltalk sockets programming is,
please send me a link to it.

3.8 Sockets, WebServer, NetClients
==================================

GNU Smalltalk includes an almost complete abstraction of the TCP, UDP
and IP protocols.  Although based on the standard BSD sockets, this
library provides facilities such as buffering and preemptive I/O which a
C programmer usually has to implement manually.

   The distribution includes a few tests (mostly loopback tests that
demonstrate both client and server connection), which are class methods
in 'Socket'.  This code should guide you in the process of creating and
using both server and client sockets; after creation, sockets behave
practically the same as standard Smalltalk streams, so you should not
have particular problems.  For more information, refer to **note
Network**programming with Sockets*: (gst-libs)Sockets.  The library is
also used
by many other packages, including Swazoo and the MySQL driver.

-----Info: (gst)Network support, 26 lines
--All-----------------------------------------------------
Cannot find node 'Sockets'
Reply | Threaded
Open this post in threaded view
|

Re: Network Communications Information Missing From Docs

Paolo Bonzini-2
On 04/01/21 23:43, Gary Highberger wrote:
> information on Sockets programming appears to be missing from
> gnu-smalltalk-doc section 3.8. See below. if anybody knows where the
> information (UDP and TCP examples) on gnu-smalltalk sockets programming is,
> please send me a link to it.

You can find it at
https://www.gnu.org/software/smalltalk/manual-libs/gst-libs.html#Sockets-package

Paolo

> 3.8 Sockets, WebServer, NetClients
> ==================================
>
> GNU Smalltalk includes an almost complete abstraction of the TCP, UDP
> and IP protocols.  Although based on the standard BSD sockets, this
> library provides facilities such as buffering and preemptive I/O which a
> C programmer usually has to implement manually.
>
>     The distribution includes a few tests (mostly loopback tests that
> demonstrate both client and server connection), which are class methods
> in 'Socket'.  This code should guide you in the process of creating and
> using both server and client sockets; after creation, sockets behave
> practically the same as standard Smalltalk streams, so you should not
> have particular problems.  For more information, refer to **note
> Network**programming with Sockets*: (gst-libs)Sockets.  The library is
> also used
> by many other packages, including Swazoo and the MySQL driver.
>
> -----Info: (gst)Network support, 26 lines
> --All-----------------------------------------------------
> Cannot find node 'Sockets'
>


Reply | Threaded
Open this post in threaded view
|

Re: Network Communications Information Missing From Docs

highbeg
Hi Paolo,

Thank you for the link. Im studying it now. Hmm. Tab complete doesn't work
on the socket options I tried implying something is missing from my
Smalltalk installation. Is the socket class included in the Ubuntu
distribution of Smalltalk 3.2.5?

A link to a simple UDP message example would also be much appreciated.

Thanks again,
Gary Highberger

On Mon, Jan 4, 2021 at 5:51 PM Paolo Bonzini <[hidden email]> wrote:

> On 04/01/21 23:43, Gary Highberger wrote:
> > information on Sockets programming appears to be missing from
> > gnu-smalltalk-doc section 3.8. See below. if anybody knows where the
> > information (UDP and TCP examples) on gnu-smalltalk sockets programming
> is,
> > please send me a link to it.
>
> You can find it at
>
> https://www.gnu.org/software/smalltalk/manual-libs/gst-libs.html#Sockets-package
>
> Paolo
>
> > 3.8 Sockets, WebServer, NetClients
> > ==================================
> >
> > GNU Smalltalk includes an almost complete abstraction of the TCP, UDP
> > and IP protocols.  Although based on the standard BSD sockets, this
> > library provides facilities such as buffering and preemptive I/O which a
> > C programmer usually has to implement manually.
> >
> >     The distribution includes a few tests (mostly loopback tests that
> > demonstrate both client and server connection), which are class methods
> > in 'Socket'.  This code should guide you in the process of creating and
> > using both server and client sockets; after creation, sockets behave
> > practically the same as standard Smalltalk streams, so you should not
> > have particular problems.  For more information, refer to **note
> > Network**programming with Sockets*: (gst-libs)Sockets.  The library is
> > also used
> > by many other packages, including Swazoo and the MySQL driver.
> >
> > -----Info: (gst)Network support, 26 lines
> > --All-----------------------------------------------------
> > Cannot find node 'Sockets'
> >
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Network Communications Information Missing From Docs

Gnu mailing list
In reply to this post by Paolo Bonzini-2
Paolo Bonzini writes:

> On 04/01/21 23:43, Gary Highberger wrote:
>> information on Sockets programming appears to be missing from
>> gnu-smalltalk-doc section 3.8. See below. if anybody knows where the
>> information (UDP and TCP examples) on gnu-smalltalk sockets programming is,
>> please send me a link to it.
>
> You can find it at
> https://www.gnu.org/software/smalltalk/manual-libs/gst-libs.html#Sockets-package
>
> Paolo
>
All hail Paolo, the return of the king!

Derek

Reply | Threaded
Open this post in threaded view
|

Re: Network Communications Information Missing From Docs

stes
In reply to this post by highbeg

I posted a small TCP (and I suspect UDP) example a while ago, that works for me.

Assuming that the old 'legacy' daytime stream server runs on tcp port 13 (as an example).

$ gst daytime.st
Loading package ObjectDumper
Loading package Sockets
'Sat Jun  6 10:30:16 2020'

As Derek indicated last june, the key issue is the namespace support.

The class below is Sockets.Socket where Sockets. is the package name and Socket the class name:

$ cat daytime.st

Eval [

PackageLoader fileInPackage: 'Sockets'.

s _ Sockets.Socket remote:(Sockets.SocketAddress createLoopbackHost) port:13.
(s upTo: Character cr) printNl.
s close.

]

----- Op 5 jan 2021 om 20:06 schreef Gary Highberger [hidden email]:

> Hi Paolo,
>
> Thank you for the link. Im studying it now. Hmm. Tab complete doesn't work
> on the socket options I tried implying something is missing from my
> Smalltalk installation. Is the socket class included in the Ubuntu
> distribution of Smalltalk 3.2.5?
>
> A link to a simple UDP message example would also be much appreciated.
>
> Thanks again,
> Gary Highberger
>
> On Mon, Jan 4, 2021 at 5:51 PM Paolo Bonzini <[hidden email]> wrote:
>
>> On 04/01/21 23:43, Gary Highberger wrote:
>> > information on Sockets programming appears to be missing from
>> > gnu-smalltalk-doc section 3.8. See below. if anybody knows where the
>> > information (UDP and TCP examples) on gnu-smalltalk sockets programming
>> is,
>> > please send me a link to it.
>>
>> You can find it at
>>
>> https://www.gnu.org/software/smalltalk/manual-libs/gst-libs.html#Sockets-package
>>
>> Paolo
>>
>> > 3.8 Sockets, WebServer, NetClients
>> > ==================================
>> >
>> > GNU Smalltalk includes an almost complete abstraction of the TCP, UDP
>> > and IP protocols.  Although based on the standard BSD sockets, this
>> > library provides facilities such as buffering and preemptive I/O which a
>> > C programmer usually has to implement manually.
>> >
>> >     The distribution includes a few tests (mostly loopback tests that
>> > demonstrate both client and server connection), which are class methods
>> > in 'Socket'.  This code should guide you in the process of creating and
>> > using both server and client sockets; after creation, sockets behave
>> > practically the same as standard Smalltalk streams, so you should not
>> > have particular problems.  For more information, refer to **note
>> > Network**programming with Sockets*: (gst-libs)Sockets.  The library is
>> > also used
>> > by many other packages, including Swazoo and the MySQL driver.
>> >
>> > -----Info: (gst)Network support, 26 lines
>> > --All-----------------------------------------------------
>> > Cannot find node 'Sockets'
>> >
>>

Reply | Threaded
Open this post in threaded view
|

Re: Network Communications Information Missing From Docs

stes
In reply to this post by Gnu mailing list

I'm sorry if this is off-topic, but it seems relevant to GNU smalltalk.

In the NEWS file in the 3.2.91 I read

"The socket code will be rewritten (for all platforms) for 3.3 anyway."

So I'd like to inquire about GNU Smalltalk 3.3  ... or perhaps a 3.2.6 in the 3.2 series ??

Thanks!

----- Op 5 jan 2021 om 20:12 schreef help-smalltalk [hidden email]:

> Paolo Bonzini writes:
>>
> All hail Paolo, the return of the king!
>
> Derek

Reply | Threaded
Open this post in threaded view
|

Re: Network Communications Information Missing From Docs

Holger Freyther
For 3.3 I had hoped to solve the deadlock we experienced in the VisualGST debugger with the new event loop. GTK+-2.0 stopped getting maintained and I think we should release 3.3 as is...

What do you think?
        holger

> On 6. Jan 2021, at 04:02, [hidden email] <[hidden email]> wrote:
>
>
> I'm sorry if this is off-topic, but it seems relevant to GNU smalltalk.
>
> In the NEWS file in the 3.2.91 I read
>
> "The socket code will be rewritten (for all platforms) for 3.3 anyway."
>
> So I'd like to inquire about GNU Smalltalk 3.3  ... or perhaps a 3.2.6 in the 3.2 series ??
>
> Thanks!
>
> ----- Op 5 jan 2021 om 20:12 schreef help-smalltalk [hidden email]:
>
>> Paolo Bonzini writes:
>>>
>> All hail Paolo, the return of the king!
>>
>> Derek
>


Reply | Threaded
Open this post in threaded view
|

Re: Network Communications Information Missing From Docs

stes

I'm not knowledgeable enough but I would be inclined to have a new 3.2.6 version,
with as little major changes as possible but still with useful fixes.

Basically for me on Solaris,  the 3.2.5 and the 3.2.91 work.

I've compiled with some GCC versions like gcc 7 and gcc 9 and gcc 10.

But I worry about the NEWS file which says that all socket code is going to be rewritten.

Obviously I don't want that.   I mean, it could be useful to have a new implementation,
but at the same time it is important to maintain the old code.

So it would be nice if a new 3.2.6 release were to be made.

Optionally with also in parallel a new 3.3 release perhaps with more significant changes.

Is the current 3.2.91 close to what 3.3 is possibly intented to be ?

Or is the current 3.2.91 more like a 3.2.6 release which is still very different from what 3.3 would be ?

Anyway I think GNU smalltalk is a nice package, and
I'd like to express thanks for all of the work that is being done on it,
by the GNU smalltalk team ...

Regards,
David Stes

----- Op 7 jan 2021 om 14:25 schreef Holger Freyther [hidden email]:

> For 3.3 I had hoped to solve the deadlock we experienced in the VisualGST
> debugger with the new event loop. GTK+-2.0 stopped getting maintained and I
> think we should release 3.3 as is...
>
> What do you think?
> holger
>
>> On 6. Jan 2021, at 04:02, [hidden email] <[hidden email]> wrote:
>>
>>
>> I'm sorry if this is off-topic, but it seems relevant to GNU smalltalk.
>>
>> In the NEWS file in the 3.2.91 I read
>>
>> "The socket code will be rewritten (for all platforms) for 3.3 anyway."
>>
>> So I'd like to inquire about GNU Smalltalk 3.3  ... or perhaps a 3.2.6 in the
>> 3.2 series ??
>>
>> Thanks!
>>
>> ----- Op 5 jan 2021 om 20:12 schreef help-smalltalk [hidden email]:
>>
>>> Paolo Bonzini writes:
>>>>
>>> All hail Paolo, the return of the king!
>>>
>>> Derek

Reply | Threaded
Open this post in threaded view
|

Re: Network Communications Information Missing From Docs

stes

Actually so far I have only just downloaded 3.2.5 and 3.2.91,
which is good, I mean it's good that there are package tarballs.

But I understand correctly the latest source code is at:

http://git.savannah.gnu.org/cgit/smalltalk.git/

There are multiple git branches there, so maintaining the 3.2 branch,
while also having a 3.3 branch is a possibility ...