.NetworkingGT is a toolkit for rapidly prototyping groupware applications with the Microsoft.NET platform. It provides the shared dictionary: a centrally coordinated distributed shared memory system for inter-application communication. Programmers work with the shared dictionary as though it were a hash table. Values are identified with string keys that look like paths in a conventional disk file system. Behind the API the programmer works with, the networking infrastructure takes care of serializable values and distributing them through the client/server architecture. Programmers can monitor the dictionary for changes with subscriptions.
The difference between .Networking and .NetworkingGT is that .NetworkingGT uses the GT Toolkit as the underlying networking architecture.
Download and Installation
We have rewritten .Networking to use GT for network communication (and thus support TCP and UDP).
There is also preliminary support for include persistance support (via SQL). See the shared dictionary explainer for detail on how to use these features.
Please note that these bundles include the required version of GT: there is no need to fetch and install GT.
Please contact Brian de Alwis with any problems you may encounter. When reporting a problem, please be sure to include details such as: what are you attempting to accomplish, what you expected to occur, and what actually occurred.
Recipes and How-To's
Shared Dictionary Explainer
Saul's Shared Dictionary Explainer
I am rewriting the documentation, so this is work in progress
Tutorials and Examples
- Incrementor: multiple clients increment a shared value in the Shared Dictionary
- Simple Text Chat: two clients share text using the Shared Dictionary
- Dictionary Users: a client displays a list of users connected to the Shared Dictionary
- Vector: multiple clients add, remove or modify elements of a Vector using Shared Dictionary
- Simple File Transfer Part 1: multiple clients upload and download files using Shared Dictionary
- Simple File Transfer Part 2: multiple clients pause and resume files while transferring
- Mike Boyle's step-by-step video tutorials: