.NetworkingGT
.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.
Contents
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.
- Version 1.2.8 (2010/08/31), built on GT 3.0.2a. This is a solid release.
- The source code repository can be accessed at http://www.cs.usask.ca/~bsd178/nsd/
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.
- A local bug and feature request list can be found here. This will be used to priorize revisions.
Recipes and How-To's
- How to use wildcards in the path
- How to use the connect dialog
- How to register event handlers
- How to setting up a subscription
- How to add values to the Shared Dictionary
- How to retrieve values from the Shared Dictionary
- How to iterate through the dictionary
- How to make entries dependent on the client's lifetime (transient, lifetime)
- How to use Maps
- How to use secure dictionary and password protection
- How to use the new persistent dictionary features
- How to use the UDP features of the GT Shared Dictionary
Shared Dictionary Explainer
- Purpose
- Glossary
- Example of Use
- Basic Architecture
- What Happens on Connection/Disconnection?
- How Subscriptions and Notifications Work
- Gotchas
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:
Links
- XML Documentation
- Mike Boyle's thoughts on new Shared Dictionary Features: Things we may change in the future.