From: andrew mcelroy Date: 2012-03-25T05:18:03+09:00 Subject: Re: Need to create a file-sharing client like Gnutella, where to start? --0016e6d99fa471cdc904bc02d632 Content-Type: text/plain; charset=ISO-8859-1 On Sat, Mar 24, 2012 at 3:02 PM, Bharadwaj Srigiriraju wrote: > Brian Candler wrote in post #1053069: > > Bharadwaj Srigiriraju wrote in post #1053068: > >> I am a newbie and I am excited about how Ruby works :) > >> > >> I am planning to develop a file-sharing client similar to Gnutella using > >> Ruby. I think I need to learn something related to networking in Ruby > >> and I am not sure where to start off... > >> > >> What are the things I should know (related to Ruby) before starting this > >> project? Can you point me to some good sources to know these things > >> more? > > > > First you need the general concepts: how TCP/IP works, what sockets are > > and how to use them, and so on. The relevant classes in Ruby are just > > wrappers around the underlying C API. And of course you need to > > understand all the security pitfalls of networked applications and how > > to avoid them, before exposing your application to the Internet at > > large. > > > > I don't know of a book which teaches those concepts and Ruby programming > > at the same time, but perhaps others here do. > > > > The best book I know on the fundamentals of network programming is "Unix > > Network Programming Volume 1" by the late Richard Stevens. You are > > likely to find this very heavy going if you are new to computing and > > programming in general, but you are unlikely ever to outgrow it :-) > > > hmm... Can you tell me any specific implementation that has been already > done in this area? > Provided that this is for strictly legal purposes, you might want to checkout the standard library docs. http://www.ruby-doc.org/stdlib-1.9.3/ http://pleac.sourceforge.net/pleac_ruby/sockets.html http://writequit.org/blog/?p=153 here is one on socket programming http://www.tutorialspoint.com/ruby/ruby_socket_programming.htm this is a ruby p2p app in six lines https://groups.google.com/group/comp.lang.ruby/msg/8fc335f67f99536c?hl=en hope this helps. I really hope this is for research/legal purposes, which is my assumption :-) Andrew > You said that I need to learn concepts like TCP/IP, sockets etc. What > are those other things I need to learn along with them? > > Just asking, can this thing be completed in a month duration? > (I have never developed an application before, that's why...). > > -- > Posted via http://www.ruby-forum.com/. > > --0016e6d99fa471cdc904bc02d632 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Sat, Mar 24, 2012 at 3:02 PM, Bharadw= aj Srigiriraju <lists@ruby-forum.com> wrote:
Brian Candler wrote in post #1053069:
> Bharadwaj Srigiriraju wrote in post #1053068: >> I am a newbie and I am excited about how Ruby works :)
>>
>> I am planning to develop a file-sharing client similar to Gnutella= using
>> Ruby. I think I need to learn something related to networking in R= uby
>> and I am not sure where to start off...
>>
>> What are the things I should know (related to Ruby) before startin= g this
>> project? Can you point me to some good sources to know these thing= s
>> more?
>
> First you need the general concepts: how TCP/IP works, what sockets ar= e
> and how to use them, and so on. The relevant classes in Ruby are just<= br> > wrappers around the underlying C API. And of course you need to
> understand all the security pitfalls of networked applications and how=
> to avoid them, before exposing your application to the Internet at
> large.
>
> I don't know of a book which teaches those concepts and Ruby progr= amming
> at the same time, but perhaps others here do.
>
> The best book I know on the fundamentals of network programming is &qu= ot;Unix
> Network Programming Volume 1" by the late Richard Stevens. You ar= e
> likely to find this very heavy going if you are new to computing and > programming in general, but you are unlikely ever to outgrow it :-)

hmm... Can you tell me any specific implementation that has bee= n already
done in this area?

Provided that this i= s for strictly legal purposes, you might want to checkout the standard libr= ary docs.
http:= //www.ruby-doc.org/stdlib-1.9.3/
http:= //pleac.sourceforge.net/pleac_ruby/sockets.html
http://writequit.org/blog/?p=3D153

here is one on socket programming
http://www.tutor= ialspoint.com/ruby/ruby_socket_programming.htm

this is a ruby p2p app in six lines
https://groups.g= oogle.com/group/comp.lang.ruby/msg/8fc335f67f99536c?hl=3Den=A0=A0
=

hope this helps. I really hope this is for research/legal purpos= es, which is my assumption :-)

Andrew

You said that I need to learn concepts like TCP/IP, sockets etc. What
are those other things I need to learn along with them?

Just asking, can this thing be completed in a month duration?
(I have never developed an application before, that's why...).

--0016e6d99fa471cdc904bc02d632--