WebSync Overview

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 client libraries for various platforms, which are used to send and receive data through the server component.

What Is Comet?

Push data to your clients instantly, as events occur

Traditionally, HTTP requests communicate with web servers synchronously.

Traditional HTTP

Traditional HTTP

With comet (a.k.a reverse Ajax, HTTP push, HTTP streaming, 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.

Comet Reverse Ajax

With Comet

WebSync uses a standards-based publish/subscribe methodology to send data to connected clients; these clients can be .NET clients, iOS clients, JavaScript clients, Java clients, Windows Phone clients, or any other client that implements the standard protocol used with WebSync.

The data sent through WebSync is formatted as JSON (JavaScript Object Notation), a well known and highly cross-platform, cross-language standard.

What Is WebSync?

Push data to web clients with zero configuration.

WebSync is a highly scalable HTTP streaming (comet) server built for the Microsoft stack (.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.

How Does WebSync Pull All This Together?

Start publishing with just a few lines of code.

With WebSync, you can use our included libraries to easily communicate with the WebSync server. We have pre-built libraries for a ton of languages and platforms, and are constantly adding support for more. Let's look at a quick example of receiving messages in your web browser:

var client = new fm.websync.client('http://myserver/websync.ashx');
client.connect();
client.subscribe({
    channel: '/sample/channel',
    onReceive: function(e) {
        alert(e.getData());
    }
});
    

Publishing data is just as easy:

client.publish({
    channel: '/sample/channel',
    data: {
        text: 'Hello, this is WebSync.'
    }
});
    

It's really that easy!

Use server events to take control.

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 .NET web application:

    // run before every publish
    [WebSyncEvent(EventType.BeforePublish)]
    public static void Process(object sender, WebSyncEventArgs e)
    {
        // log data published to /sample/channel
        if (e.PublishInfo.Channel == "/sample/channel")
        {
            LogItem log = new LogItem(e.PublishInfo.DataJson);
            log.Save();
        }
    }
    

Publishing directly from the server is the easiest of all - a single method call:

        WebSyncServer.Publish("/sample/channel", Json.Serialize(new Payload
        {
            Text = "Hi from the server!"
        }));
    

What Makes WebSync Great?

Bypass firewalls and deliver tens of thousands of messages per second.

WebSync is the leading production-ready HTTP streaming (comet/reverse Ajax) server for those of us using the Microsoft stack (.NET/IIS).

Unlike other HTTP streaming 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 an old commodity desktop and simultaneously connected over 30,000 users with over 100,000 messages being delivered per second. Now those are some numbers you can work with!

We believe that high quality real-time messaging is a critical piece of the future of the web, and should be made as accessible as possible to everyone. Get started today with the most cost-effective, high-performance comet server on the market!

WebSync is completely free to try. Check out our downloads page to get started (requires free registration).


Questions?

We'll be glad to answer any questions you might have, just drop us a line!