INTERESTING review on Networking LIBS
BlitzMax Forums/BlitzMax Programming/INTERESTING review on Networking LIBS
| ||
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 |
| ||
I wouldn't even consider using any of those under review - they need to take some rules out. No ordering/reliability on half of the accepted, some aren't even updated anymore, and hardly anyone uses several of them in the first place for fair discussion and support. Just my thoughts. I am biased though as a RakNet fanatic, so removing that from the accepted list put my gears into offensive mode. |
| ||
I would suggest you to stop posting in the idea that some amazing network library will come along and save the day, and get down to the code. Like I said before, sockets are simple and writing your own engine will allow you to implement things easily (depending on your coding style, abstract?) later on, if needed. |
| ||
Here is a sockets example, using TCP: http://files.filefront.com/tcptestzip/;12634708;/fileinfo.html |