Hello Lawson,
Sorry this went private.
LE> Well, trying to get the example code working using class OldSocket. LE> Doesn't seem to work with squeak or cobalt.
this is a bit unspecific. OldSocket was OldSocket already in a 3.6 image and the class has not a single user (Socket has 84 in a 3.6 image). So I used Socket when I controlled an Asteroids Game via UDP.
LE> I'm stuck trying to figure out how to do it period, and when the LE> examples don't work, I'm lost... ;-/
LE> Suggestions? Help? On this list we had a discussion about this beginning of last month.
I posted the snippet from the end of this message which I tested in Squeak 3.8 and latest Pharo.
Cheers,
Herbert mailto:herbertkoenig@gmx.net
Some code:
Socket initializeNetwork "Only once per image" dst := Socket newUDP setPort: 1979. src := Socket newUDP setPort: 2345. buff := ByteArray new: 1026. delay := Delay forMilliseconds: 10. localhost := ByteArray withAll: { 192. 168. 42. 11 }. received := nil.
rp := [[ received := dst receiveUDPDataInto: buff. received first isZero ] whileTrue: [ delay wait ]. WorldState addDeferredUIMessage: [ { buff. received } inspect ]] fork.
src sendUDPData: ( 'ctmame' , (String value: 10) , (String value: 162)) toHost: localhost port: 1979.
rp terminate. src closeAndDestroy. dst closeAndDestroy.
src := nil. dst := nil. buff := nil. delay := nil. rp := nil.
Smalltalk garbageCollect Socket allInstances