lun apr 19 18:26:04 CEST 2010

uSock - A high-level C++ library to easily manage raw or applica-
tion socket

--

http//0x00.ath.cx/prog/usock

After some days of hard developing,  I've  finally  released  the
first,  beta,  version of uSock (it should be Sock, pronounced as
"MicroSock", a nice word joke I'm quite proud  of).  uSock  is  a
high-level  interface  for the use of sockets in your network ap-
plication. It removes, on the developer's side, the need of  man-
aging  any kind of exceptions brought by the use of network sock-
ets, and the necessity to make some low-level operations like bi-
nary  flag  setting on socket descriptors or low-level struct ma-
nipulation, so the developer can just focus on the logic  of  his
application.

Actually the library supports application sockets (TCP/UDP), ICMP
sockets and pure raw sockets, offering the developer a  wide  set
of  API for the high-level manipulation of these data structures.
So, the developer can just create a TCP  socket  with  a  certain
host,  write  a buffer onto that and close it in 3 lines of code,
or build up a raw socket to send a SYN TCP packet in 3 lines too.
In  the  link  I posted above, and inside the package itself, you
can find the "examples/" directory, containing some possible  ap-
plications  of this library, and the "doc/" directory, containing
the official documentation for the library APIs (both in HTML and
LaTeX format). Moreover, I suggest you to get the latest software
release via GIT (yes, it's updated more  often  than  the  static
package on this website), just launching

git clone git://github.com/BlackLight/uSock.git

TODO:  support for SSL sockets, basic support for the main appli-
cation protocols (i.e. a class for managing HTTP or FTP sockets),
support  for  IPv6  protocol, and support for socket multiplexing
and timeout managing via select().

Have fun, BlackLight


--
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GAT d? a? C++++ U++++ P++++ L+++++ E--- W+++ !w PS+++ PE-- Y++ PGP++ X++
R+ tv-- b+>+++ DI++ G++ e+++ h* r++ z**
------END GEEK CODE BLOCK------