Nading.Network.Library - As powerful and easy as it gets! Check out the forums!
This is a tcp networking library created by Kevin Nading. This is why its called the Nading Network Library. The primary focus of the library is to provide an easy to use yet powerful .NET Framework based lib for use in Visual Basic, c#, and managed C++ by hobbyists as well as pro's. The Nading Network Library was initially created to fulfill a need for multiplayer game development since directplay was discontinued and left us no alternative. The networking library consists of 2 complete architectures that will work for any need.. full event driven capacity as well as a complete queueing system. You can use the library with or without threads as you see fit and your ability permits you. You can use this tool for games, instant messengers, server services, remote database connectivity, monitoring systems, anything that requires data transfer over the internet or lan.
Please bare with me for this webpage until I am able to get a new one in place.
Download the latest version here(11/27/2007):
Client DLL
Server DLL
Sample Applications(VB.NET) with source code(3d samples not available at this time.. only console and form samples for now)
Sample C++ Applications with source code - Contributed by Marcos Garcia - THANKS!

Documentation / Reference: (in the works)
Current Features include but are not limited to:
- TCP based so all packets are delivered and in order guaranteed
- Straight forward packet structure for easily sending your packets
- Packet data sent and received as a simple byte array.. immagine the posibilities!
- Support for over65k different Packet types of your choosing
- Events: raised for connects, disconnects, and new packets
- Packet queue so the network doesnt have to wait on your app
- Unique client ID generation utilizing windows GUID system
- Seperate Bytes and Packets / incoming and outgoing counters
- Send to a single client or send to all clients with one call
- You have the ability to drop a client if needed
- Server listener is on its own thread so you dont accidentally block incoming connection requests
- Automated internal library version checking system
- Server has ability to bind to a specified ip on the machine, not just the local ip
- Client stats now available.. average bytes per second sent/recieved/total.. same with packets
- Server also has these stats avaiable per client and also as serverwide
- Client is now aware of its own internal id used on the server for connections
- Client now returns a msg with the disconnect event as does the server
- and more!
Features undergoing devleopment for future version:
- Data Encryption
- Bandwidth Statistics
- Bandwidth Throttling per connection
- Lag Simulation System
- Multiple Client Simulation
- Built in heartbeat system to quickly find dropped clients and remove them
- Ping Times System
- Lan Based multicast broadcasting for reducing load on high trafficed lans
Open Bugs:
- erase packet text box after sending packet in both server and client sample apps

Closed/Fixed Bugs:
- fixed bug in new byte array system that was adding a single 0 byte to the end of all packets - button text doesnt change to "disconnect" in sample client
- add server started and server stopped events to server lib
- add option to change bound ip address and port in server lib
- have server sample broadcast client connects and disconnects
- packet type limited to 0-9
- make text box auto scroll in sample apps - done.. thanks aion for code to do it!
- server sample app disables packet txtbox when a client exits
- usepacketqueue setting being ignored - client needs to trap internal packet type and not raise event or packet queue if it finds one and also a handler for them