From: Joel VanderWerf Date: 2007-10-30T08:21:01+09:00 Subject: Re: Problem with socket.recv() Frank Preiswerk wrote: > Hi everyone, > > I'm currently developing a Ruby TCP client and have a problem with > socket.recv(). > After establishing a connection with my server, I exchange a couple of > messages until the server begins to do some calculations based on the > client's request that take about 10 seconds. After the server finishes, it > sends back the result. Now my problem is that "data = socket.recv(size)" > seems to behave non-blocking for some reason. It does not wait for the 10 > seconds but rather executes immediately and "data" remains empty. When I add > "sleep(10)" before, it works... #recv gives you data as soon as there is data available, not necessarily waiting for size bytes. You may want to buffer it in your ruby code. -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407