WebSocket is a web technology providing for bi-directional, full-duplex communications channels, over a single Transmission Control Protocol (TCP) socket. The WebSocket API is being standardized by the W3C, and the WebSocket protocol has been standardized by the IETF as RFC 6455.
WebSocket is designed to be implemented in web browsers and web servers, but it can be used by any client or server application. The WebSocket protocol makes possible more interaction between a browser and a web site, facilitating live content and the creation of real-time games. This is made possible by providing a standardized way for the server to send content to the browser without being solicited by the client, and allowing for messages to be passed back and forth while keeping the connection open. In this way a two-way (bi-direction) ongoing conversation can take place between a browser and the server. A similar effect has been done in non-standardized ways using stop-gap technologies such as comet.
In addition, the communications are done over the regular TCP port number 80, which is of benefit for those environments which block non-standard Internet connections using a firewall. WebSocket protocol is currently supported in several browsers including Firefox and Google Chrome. WebSocket also requires web applications on the server to be able to support it. [ information reference: Wikipedia ]
Web Sockets endpoint support in WCF 4.5 and .NET Framework 4.5
With upcoming WCF 4.5 – Microsoft has added support for exposing your WCF Services over Web Sockets. Two new bindings have been added to support communication over a WebSocket transport.
1. NetHttpBinding – A binding designed for consuming HTTP or WebSocket services that uses binary encoding by default.
2. NetHttpsBinding – A secure binding designed for consuming HTTP or WebSocket services that uses binary encoding by default.
* Using the above bindings now we can create Services listening over Web Sockets using WCF 4.5.
** Web Sockets hosting support has been introduced with IIS 8.0 in Windows 8 and Windows Server 8 beta.
[ information reference: MSDN ]