Hi David and everybody, I just sent my first UDP packet with Smalltalk Sockets. It's likely just me but there might be some instability in gst. Somehow my Datagram Socket got wiped out. I'm going to run tests and publish my findings here.
Have GNU Smalltalk Sockets and the VM been proven in real world applications? Packet: $ sudo tcpdump -i 1 -nn -n -A port 49152 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on wlp3s0, link-type EN10MB (Ethernet), capture size 262144 bytes 10:53:15.131345 IP 192.168.1.114.49153 > 192.168.1.249.49152: UDP, length 27 E..7..@.@..0...r.........#.. Hi sailor! New in town? Smalltalk: st> PackageLoader fileInPackage: 'Sockets' "Global garbage collection... done" Loading package Sockets PackageLoader st> DgS := Sockets.DatagramSocket remote: '192.168.1.249' port: 49152 local: '192.168.1.114' port: 49153 Sockets.DatagramSocket[192.168.1.114:49153] st> DgD := Sockets.Datagram data: ' Hi sailor! New in town? ' a Datagram st> DgS nextPut: DgD Sockets.DatagramSocket[192.168.1.114:49153] Voila Many thanks for the help everybody! Gary On Sun, Jan 10, 2021 at 1:49 PM Gary Highberger <gary.highber...@gmail.com> wrote: > Hello David and all, > > I have a few (noob) questions about the UDP example Smalltalk program. > More questions likely to follow as I come up to speed. Your patience is > much appreciated David and everybody. > > QUESTIONS: > • Is "_" the preferred assignment operator? I've been seeing ":=" too. I > don't have a back arrow on my keyboard. I guess the PARC people used "_". > > • Does statement 1) > assign the destination IP address? Note that for my application, the > source and destination addresses will be different. > > • Does statement 3) > populate the (UDP) datagram socket with the message, port, and address? > Why a "#" symbol prefixing the message string, 'hello world'? > > • Does statement 4) > create a listening socket? > > • Does statement 5) > trigger the send? > > • Does statement 6) > block until the UDP response? > > +---------------------------------------------------------+ > > UDP Smalltalk (example) program: > > 1) h _ Sockets.SocketAddress createLoopbackHost. > > 2) s _ Sockets.DatagramSocket new. > > 3) d _ Sockets.Datagram data:#'hello world' address:h port:13. > > 4) answer _ Sockets.Datagram new. > > 5) s nextPut:d. > > 6) s receive:answer. > > 7) (answer data) asString printNl. > > 8) s close. > > Gary Highberger > > > On Sun, Jan 10, 2021, 8:48 AM Gary Highberger <gary.highber...@gmail.com> > wrote: > >> Good morning David, >> >> I'm not familiar with 'daytime' but will come up to speed on it and get >> it and your use cases running and report my findings for everybody to see. >> >> Hopefully netTest.c explains what I'm trying to do with Smalltalk. It's >> very short and simple. >> >> https://www.dropbox.com/s/xc23wj6r5aqh153/netTest.c?dl=0 >> >> I used my cell phone as the destination, my home WiFi as the network, and >> tcpdump to see the packet. >> >> Thank you David for the Smalltalk code fragments and introducing me to >> inetd and 'daytime'. >> >> Gary Highberger >> >> >>