il Sat, 20 Mar 2004 04:06:50 +0900, "Alexandr Vladykin"
<moscower / smtp.ru> ha scritto::


>I tryed to translate it into Ruby, but I did not find in
>Ruby any objects as Perl IO::Select, so
>how I can handle multiple clients on Ruby as Perl do it
>with IO::Select?

I'd say... with IO.select :)
or Kernel.select
you should install ri (ruby information tool) ;)

IO.select(...)

  IO.select( readArray [, writeArray [errorArray [timeout]]] ) ->
anArray
  or nil
  

Kernel.select(...)

  select( readArray [, writeArray [errorArray [timeout]]] ) -> anArray
or nil
  
    Performs a low-level select call, which waits for data to become
available from input/output devices. The first three parameters are
arrays of IO objects or nil. The last is a timeout in seconds, which
should be an Integer or a Float. The call waits for data to become
available for any of the IO objects in readArray, for buffers to have
cleared sufficiently to enable writing to any of the devices in
writeArray, or for an error to occur on the devices in errorArray. If
one or more of these conditions are met, the call returns a
three-element array containing arrays of the IO objects that were
ready. Otherwise, if there is no change in status for timeout seconds,
the call returns nil. If all parameters are nil, the current thread
sleeps forever.
  
  select( [$stdin], nil, nil, 1.5 )   #=> [[#<IO:0x401b9460>], [], []]

>May be there are some any additional documentation about
>writing socket servers on Ruby? 

try the Programming Ruby book (AKA the pickaxe)