WebSync is an implementation of the Bayeux specification, commonly known as "comet", for the .NET framework and IIS.
WebSync provides both the server implementation, which handles processing of the incoming requests, and a variety of comet clients and publishers, which are used to send and receive data through the server component.
Traditionally, HTTP requests communicate with web servers synchronously.
With Comet (a.k.a Reverse Ajax, HTTP Push, etc), a connection is established and maintained with the server, allowing full duplex communication, meaning the server can push events out to the client in real-time.
WebSync uses a standards-based publish/subscribe methodology to send data to connected clients; these clients can be .NET clients, Silverlight clients, web browsers, or any other client that implements the standard protocol used with WebSync.
The data sent through WebSync is JSON (JavaScript Object Notation), a well known and highly cross-platform, cross-language standard.
WebSync is a highly scalable HTTP Comet/Reverse Ajax server built for the Microsoft stack (ASP.NET/IIS) using the Bayeux protocol.
WebSync allows you to push live data to a web browser or any other compatible client without requiring any plugins, security changes, or dedicated servers.
WebSync leverages the power and ubiquity of IIS to allow easy integration into existing applications with a simple learning curve.
WebSync is currently used for chat, streaming stock data, live auctions, real-time monitoring, news updates, and many other applications.
With WebSync, you can use our included libraries to easily communicate with the WebSync server. We have pre-built libraries for .NET and for JavaScript, and are constantly adding support for new languages. Let's look at a quick example of receiving messages in your web browser:
// initialize, connect, and subscribe the client
fm.websync.client.init().connect().subscribe({
channel: '/sample/channel',
onReceive: function(args) {
alert(args.data);
}
});
And publishing data is just as easy:
// initialize and connect the client, then publish a message
fm.websync.client.init().connect().publish({
channel: '/sample/channel',
data: {
text: 'Hello, world!'
}
});
It's really that easy!
We've seen how easy it is to send and receive messages, but what's just as important is doing something useful with those messages as they pass through the server.
WebSync lets you pre-process or post-process all messages as they move through the system with it's powerful event system. Just drop a tagged method into your ASP.NET project:
// run before every publish
[WebSyncEvent(EventType.BeforePublish)]
public static void Process(object sender, WebSyncEventArgs args)
{
foreach (Message message in args.Messages)
{
// log data published to /sample/channel
if (message.Channel == "/sample/channel")
{
LogItem log = new LogItem(message.DataJson);
log.Save();
}
}
}
Finally, what if you want to publish data from the server? Well, once you've got your class defined, that's just a single method call:
RequestHandler.Publish("/sample/channel", new Payload
{
Text = "Hi from the server!"
});
WebSync is the leading production-ready Comet/Reverse Ajax server for those of us using the Microsoft framework (ASP.NET/IIS).
Unlike other Comet/Reverse Ajax solutions, WebSync does not require any additional servers, different ports, or fancy configuration. WebSync works directly with IIS (or the development server shipped with Visual Studio), and can therefore be easily added to any ASP.NET project with little more than a couple web.config entries. No need to host additional servers, mess with extended installations or configuration, or figure out what security restrictions are in place - WebSync "just works".
In addition to being made for Microsoft's platform, and being very simple to use and integrate, WebSync has incredible performance. In our testing, we took a old Acer desktop with 3Gig of RAM and had over 30,000 simultaneous users and over 100,000 messages being sent per second. Now those are some numbers you can work with!
WebSync is the most affordable comet (or HTTP push... or reverse Ajax...) server on the market. How is it possible? First of all, we've built on top of IIS, allowing us to keep our costs low. We also have lower support costs since WebSync is so easy to use and our documentation is so extensive. Our sample projects take developers through the basics and get your application running quickly and easily.
We believe that high quality comet technology is the future of the web, and should be made as accessible as possible to everyone. We don't believe in gouging our customers. Get started today with the most cost-effective, high-performance comet server on the market!
WebSync is free to try. Check out our downloads page to get started (requires free registration).
We'll be glad to answer any questions you might have, just drop us a line!