[BUG]Can't accept socket connections on Windows?

Julian Fitzell julian at beta4.com
Mon Aug 18 18:12:41 UTC 2003


Yes, I discovered that later on...  doesn't seem terribly clear though.

But there *is* still a bug even if you use #listenOn:backlogSize:  And 
as Michael posted, Stephen and Masashi's patches seem to fix it.

Julian

Andreas Raab wrote:
> This isn't actually a bug. The combination of #listenOn: with the #accept
> primitive is invalid. One has to use #listenOn:backlogSize: if one wants to
> be able #accept: a connection afterwards, as #listenOn: will perform an
> implicit 'inplace accept' operation (e.g., once the status changes to
> connected it _has_ accepted the connection). I wrote a message about this a
> while ago but I can't find it off-hand.
> 
> Cheers,
>   - Andreas
> 
> 
>S.J.Chun wrote:
>>
>>Does this problem fixed? If so, how can I get the fix? Thanks 
>>in advance.

Yes, you need to the following two fixes:

http://swiki.gsug.org:8080/sqfixes/4125.attachments/socketacceptfix.cs.gz
http://swiki.gsug.org:8080/sqfixes/4283.attachments/SocketFix.cs.gz

The first is slated for inclusion in the update stream.  I reviewed the 
second but it hasn't been approved yet.

Cheers,

Julian

>>  ----- Original Message -----
>>  From: julian at beta4.com
>>  To: squeak-dev at lists.squeakfoundation.org
>>  Sent: Mon, 18 Aug 2003 15:09:39 +0900 (KST)
>>  Subject: [BUG]Can't accept socket connections on Windows?
>>
>>  I don't seem to be able to accept socket connections in Windows XP. 
>>  This using 3.6beta #5395 with the latest 3.5 VM from squeak.org.
>>  
>>  I originally tried using KomServices (which required changing a
>>  #waitForAcceptUntil: to #waitForSocketFor:) and then tried 
>>using Socket
>>  directly, and then tried ConnectionQueue and all seem to exhibit the
>>  same problem.
>>  
>>  The following walkback comes up after executing the following do-it:
>>  
>>  socket _ Socket newTCP .
>>  socket listenOn: 5222.
>>  (socket waitForAcceptFor: 30).
>>  socket closeAndDestroy.
>>  
>>  It works fine if you don't make a connection within the 30 
>>seconds.  But
>>  if you make a connection then you get the following 
>>walkback.  Anyone
>>  have any ideas?  I may well be doing something entirely 
>>wrong <shrug>...
>>  
>>  Julian



More information about the Squeak-dev mailing list