[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Arx-users] Networking libraries

From: Walter Landry
Subject: [Arx-users] Networking libraries
Date: Thu, 27 Nov 2003 08:29:23 -0500 (EST)


I've gotten to the point where I have to decide on a networking
library.  The current hackerlab solution is not as portable and robust
as I would like.  My criteria for a new library are

1) Portable: It has to already work on Linux, Solaris, AIX, Mac OS X.
   Windows is also required, though a cygwin solution would be fine.
   HP-UX would be nice.  

2) Actively developed

3) Has sftp, http/webdav, and ftp.  https would be nice, though not
   required.  https often requires OpenSSL, which is incompatible with
   the GPL.

So the choices that I have found are

1) gnome-vfs

   This is rather difficult to install, though I think it could be
   made to work.  It is also rather large.  The downloaded sizes are
   about 15 MB.  It does have everything, including https support.

   The API is rather simple and easy to understand, and has a few
   convenience functions that will make life easier.

2) Silc + libneon + libcurl

   Silc has a toolkit which includes an sftp library.  libneon handles
   the webdav stuff, and libcurl handles almost everything except
   webdav.  Https support is through OpenSSL, so we couldn't use that.
   Since I would be using several different libraries, I would have to
   make my own abstraction layer.  Not difficult, but a little work.

   The install wouldn't be too difficult, and the total download size
   would be about 5.5 MB.

3) sftp + cadaver + ftp

   This would just directly invoke the sftp, cadaver, and ftp clients,
   much the same way that sftp is currently handled.  So anyone who
   wanted http support would have to download cadaver.  Since most
   people would have most of these things already, the download and
   install requirements are pretty minimal.  I'm not sure whether
   https support would be legit.

   Programming this model is not impossible, but it does make things a
   bit more complicated.  In particular, making it work cross platform
   would be a huge pain.

4) Python + twisted

   This would link to python and use the twisted framework.  That
   gives us all of the protocols.  I'm a bit worried about requiring
   python for basic functionality.  The download for twisted is about
   5.5 MB.

5) Perl + sftp and webdav
   This is similar to Python, in that we would include the perl sftp
   and webdav modules.  The download requirements are smaller.  Perl
   is more abundant, so requiring it is not such a big deal.  I'm not
   a big fan of perl, though.

Right now, my two front runners are gnome-vfs and
silc+libneon+libcurl.  The library solution appeals to me.  Of those
two, I am leaning towards gnome-vfs because of the relatively simple
interface and https support.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]