The mass is a temporary post. If you hit something to feature to the Ajaxian community, gratify see liberated to either unification us to your work, or provide us a temporary bill that goes into detail! Contact us.
My study is Jerod Venema, and I’m agog to indite to you most our newborn Comet computer for the Microsoft arrange – WebSync. It is cursive in 100% managed C#, and uses IIS to accomplish unbelievably broad individual concurrency. Despite existence cursive in C#, we’ve prefabricated it cushy to combine another languages as substantially by pre-building computer libraries and allowing generic prescript requests to beam messages.
There are whatever challenges in try a Comet computer to control expeditiously in whatever language, and the .NET surround delivers its possess ordered of unequalled challenges. One of the super challenges we visaged was how to attain IIS “play nice” when ordering to tens of thousands of concurrent prescript connections and communication transactions. A enthusiastic care of instance was spent minimizing the module print (even to the saucer of lazy goal construction), optimizing libraries, and dig finished pages of profiler results. Multi-threading reared its grotesque (but powerful) nous on more than digit occurrence as we desired to verify peak plus of binary mainframe cores patch ownership protection and concurrency issues to a minimum. We modify ended up composition a newborn lock-free accumulation scheme kindred to a linked line that allows us to action multiple-writer add/remove dealings – rattling adjuvant when handling with super lists of clients and messages. Once every was said and done, we proven on a $500 Acer screen and saw over 30,000 concurrent users and 25,000 messages per second. (We were pretty tense when we saw whatever of those drawing reaching through!)
Once we were mitigated with the server’s performance, we ordered our sights on a JavaScript client. We had originally been using the Dojo Toolkit, but the disbursement was more than what we desired (it rang in at most 90k after compression, but before gzipping), so we wrote our possess accumulation that, when shut and gzipped, comes crossways the accommodate at most 8k amount (just over 15k before gzipping). We also ran into a slew of cross-browser issues (of course), in portion when handling with long-lived prescript connections. A taste of effort, though, and we crapper today verify the computer to be flooded harmonious with over a dozen browsers, from IE5.5 every the artefact to the iPhone and Android browsers. Being fans of open-source profession (even in a Microsoft world), we definite to ingest the Bayeux instrumentation prescript kinda than amend our own, so whatever Bayeux-compliant computer crapper unification in to the server.
We also spent whatever instance on making it cushy to combine into non-browser applications. One of the rattling elegant features is the knowledge to publicize accumulation via a ultimate GET/POST request, so it crapper combine into whatever covering that crapper attain a scheme request, disregarding of the language. If you’re composition in PHP or .NET, we’ve prefabricated chronicle modify easier by composition publishers that twine up the creation and petition of the scheme letter into azygos method calls.
Oh, and we’ve got a hosted edition likewise (WebSync On-Demand), so grouping with small sites who don’t poverty the outlay of hosting their possess Comet computer crapper ease intend every the benefits of a flooded Comet solution. For the On-Demand resolution we’ve also implemented letter proxing, which allows developers to candid the low-impact publicize and hold requests to their computer first, so they crapper pre-process whatever inbound messages (to add authentication, spend messages to a database, etc). And again, for PHP or .NET users, it’s a one-liner to implement.
Anyway, it’s a pretty elegant product, cushy to intend started with, and as I said, we’re pretty agog and chesty of it, so check it out including demos or tutorials and permit us undergo what you think!



