Thanks for the feedback guys
I'll try answer Pietry's post point by point.
1) Mono: It should run on Mono 2.2, but this is .Net 2.0 with some Linq extensions, and I use Linq extensively in the code, so on Windows it's very much a .Net 3.5 affair.
2) The library project NetfractionLib was originally meant to do the hub and client, but that just turned out to be silly, so it's only for the client. The hub does share a lot of source in common though, and especially in the structure of the message handlers.
3) The readme doesn't exist, because I'd forgotten to write one
And I should include the licence with the project, but it is at least on the Codeplex page at the top right - it's GPL v2.
4) I don't know why the client crashed, but I haven't looked at that code for about a month, since I started writing the hub.
5) The hub doesn't print much to the console, I've started moving the logging to the system event log, which on Windows you can see via Event Viewer under the Application Logs. You have to run the hub as an Administrator (on Vista at least) the first time you run it so it can create the log 'source'. An installer would normally do this and remove that requirement. Oh and the console the hub shows exits when you press the enter key... I actually have a service/daemon wrapper commented out in the code, because that's how I intend it to be run eventually. The console output was just there in the first place because Console.WriteLine("var a: {0}", a); is a lot easier to type than System.Diagnostics.Debug.WriteLine(String.Format("var a: {0}", a));. But now it's becoming redundant with the event log.
6) The port and IP is in the Hub.xml file, which on my Vista system is at C:\Users\user\AppData\Roaming\DG Solutions\NetfractionHub\.
7) Yeah I really should do some documentation
--------------------------------
At the moment I've just been trying to get the hub to a working state where it can replace Verlihub on our local network, which contains a mix of ApexDC++, BCDC++ and Shakespeer clients (have to move Shakespeer people to jUCy too). I think I have most of ADC/1.0 implemented on the hub side now, so the focus is on extending the reach of the security and logging architecture, and adding general security bot commands. After that I'll look at a Lua plugin via LuaInterface (
http://luaforge.net/projects/luainterface/), with a particular focus on enabling Announcer and Trivia bots to meet our local needs.
I hope to get back to the client in amongst all that soon too, but I think that will remain a Windows-only project at least on my part because I like using it to learn WPF programming. The client library is well seperated from the WPF user interface, but the major thing stopping it from compiling on Mono is that I use SQL Server Compact Edition as the database for the hash table and file list. The library can download, but not share files at present, and neither is properly exposed through the client, so it is essentially a chat-only client for now (when it doesn't crash for whatever reason it did in Pietry's case).
I'll try and get some basic documentation done for the Hub over the next week (ignore the client for now I think unless you just want to browse). The Codeplex site enables quite a nice wiki system, though I'll post on here when I've got something worth showing up there.
Thanks again for taking a look, and thanks for the feedback