INTERESTING review on Networking LIBS

BlitzMax Forums/BlitzMax Programming/INTERESTING review on Networking LIBS

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Quote from:
http://www.motorsport-sim.org/index.php?go=taskView&tsk=750

Necessary points:
- Be cross-platform. At least Unix/Linux and Windows.
- Be open source.
- Be actively developed or maintained.
- Have good documentation or have a good community, so that we can get help easily.
- Allow both lossy and orderless transmission (UDP or similar), and lossless and ordered transmission (TCP or similar).

Additional points:
- Thread safe, parallelizable.
- Optimized bandwidth (smallest overhead possible).
- Have very little lag.
- MacOS/PSX/XBox support.

DISCARDED LIBS


RakNet
-Would make mosp undistributable with most Linux distros (see View comment).

Twisted
-Python-only API.

HawkNL
-Not actively maintained. Last update 18 August 2004
"Fork" RaptorNL stalled

NetWib
-Not actively maintained.

EasyAsIO
-Very new project
-Only tcp atm
+Uses boost asio

NetLib4Games
-Windows only

IPStream
+Multi-threaded
+Streams
-No UDP support.

NetStreams
+Streams
-Simple
-Pre-beta

ZIG Game Engine
-Depends on HawkNL
-Part of documentation in portuguese + messy documentation

Zoidcom
-No source
-Official licence announcement will be made available with release 1.0.(current 0.6)



LIBS IN REVIEW (for ussage i assume)


OpenTNL
+Supports MacOS.
-Paid license needed for supporting XBox, PS2 and GC
+GPL (free to use with GPL project)
-Not actively maintained (3 years since last commit in SF.NET CVS and last file release)

GNet
-GNet requires GLib 1.2 or 2.0.
-Geared towards desktop applications.
+Licensed under the LGPL.
+Supports MacOS X.
-Last update in Feb-2005.
+Built-in support for hashing and SOCKS proxying
-No ordering or reliability guarantee for UDP

Antinat
+Solaris and MacOS X support.

Stun

DyConnect
+Supports "high-level" networking by splitting lower-level data streams up into messages.
+Extensible module system
+Built-in support for timers, zlib compression and hashing
+Good cross-platform support: Windows, Linux, Mac OS X

Low Prio Transport Lib
+Supports the data channel concept
-Has not released any files yet (relatively new project)
-Relatively low activity level (7 months since last commit in SF.NET CVS and project registered 8 months ago)
-Does not appear to compile on Windows

NetClass
+Good cross-platform support: Windows, Linux, Mac OS X, BSD
-Not actively maintained (4 years since last commit in SF.NET CVS and 5 years since last file release)
-Low-level library
-No ordering or reliability guarantee for UDP

LibSocketCPP
-Not actively maintained (6 years since last file release)
-Low-level library
-Missing UDP (checked latest source code)
-Does not appear to compile on Windows

EndPoint
-Not actively maintained (2 years since last commit in SF.NET CVS and last file release)
-Low-level library
-No ordering or reliability guarantee for UDP

SDL Net
+Supports the data channel concept
+Very good cross-platform support: Windows, Mac OS, Mac OS X, Solaris, BSD, Irix, QNX
-Low-level library
-No ordering or reliability guarantee for UDP

ENet
-NOT intended to be a general purpose high level networking library ..
+MIT like license
+Used in Cube cubeengine.com/
-UDP only

ZeroC Ice
+High-level networking library with RPC semantics and IDL
+GPL license
+Extensible module system (modules for auto-updating/patching, federation, SSL, object persistence)
+Good cross-platform support: Windows, Linux, Mac OS X, Solaris, HP-UX
-No ordering or reliability guarantee for UDP