用ruby进行socket编程的问题??

请问,用ruby进行socket编程时,如何用select实现异步IO的方法。

我现在编写的程序,用recv接收数据,但是当没有数据时,就阻塞住了,我想用select实现在3秒没有接收到数据就跳出,如何做呢?

最好有例子,谢谢!!