[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) |
Greetings,
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.
Walter
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Arx-users] Networking libraries,
Walter Landry <=