I'm going to be working on a fairly basic networking application shortly. This is low level socket work. (I cannot use a nicety like DRB sadly.) I'm very familiar with this kind of stuff in Perl, but have done very little socket work in Ruby. I need something that can reliably work with around 50 users sending light activity. There is the possibility of a large write to them here and there and that cannot block the process. I know a little from past questions here: http://rubyurl.com/miq However, I think I remember someone saying Ruby 1.8.4 is better with nonblocking sockets. So, can some networking guru take a stab at these questions: 1. I need to use threads *and* nonblocking sockets to be safe, right? 2. Can I use gets() and puts() now in Ruby 1.8.4 or do I still need to do low level reads and writes? 3. Do I need to rescue Errno::EWOULDBLOCK? 4. This isn't going to work on Windows, right? (That's okay in this case. Just making sure.) Thanks for the help. James Edward Gray II