From: Francis Cianfrocca Date: 2006-05-09T04:21:11+09:00 Subject: Re: Considering Ruby For a Networking Application ------=_Part_40389_9305731.1147116067785 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline James, your application needs to support about 50 users with the occasional large write. Is the application a client app or a server app. It's funny to re-read your message, because I just started designing a presence-dissemination system, which will have very similar requirements to yours! (The network protocol will work a lot like BGP4, except that the "routing tables" are actually the IM-presence status of users.) And this will be both a client and a server. On 5/5/06, James Edward Gray II wrote: > > 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 > > > ------=_Part_40389_9305731.1147116067785--