From: Robert Klemme Date: 2008-10-14T16:12:28+09:00 Subject: Re: Problem with bind for Socket class 2008/10/14 Vladimir Fekete : > > > On Tue, Oct 14, 2008 at 03:30:05PM +0900, Robert Klemme wrote: >> On 14.10.2008 07:47, Vladimir Fekete wrote: >> >> >when I tested it it worked. But when I tried to run it again I've got error >> >message: >> > >> >/t1.rb:10:in `bind': Address already in use - bind(2) (Errno::EADDRINUSE) >> > from ./t1.rb:10 >> > >> >I tried to find "related" bug/problem in google but withouth success. >> >Could anybody >> >help me how to "unbind" socket ? Or explain me where I making mistake. I >> >have >> >some experiences only with WinSock API and I don't remember any unbind >> >function. >> >> >P.S. I'm running it on Debian Linux, Ruby version 1.8. >> >> I remember that on some OS (or particular versions) socket cleanout is >> delayed. Did you try to check with "netstat -a -n | fgrep 2201" or >> similar to see what state the port is in? > > Yes you are right, after circa 5 minutes it works again. So you say it is > problem (issue) of OS and not ruby, yes ? Maybe. You would have to check the web for the particular version of OS you use and system settings to be sure. In any case I would change the code in a way to ensure the socket is properly closed when the program terminates (either via begin - ensure - end or via at_exit). Kind regards robert -- remember.guy do |as, often| as.you_can - without end