Sunday, July 21, 2013

Using WebSocket in .NET 4.5 (Part 4)

Introduction
Part 1 gives an overview of the WebSocket protocol and .NET WebSocket support. Part 2 demonstrates how to use WebSocket in traditional ASP.NET and MVC 4 web applications. Part 3 demonstrates how to use WCF to host and communicate with WebSocket service, and also gives a solution to use JavaScript WebSocket API to call WebSocket WCF service.

Other than the solutions above, Microsoft has released a utility assembly which helps to use .NET server-side WebSocket APIs like using the event-based JavaScript WebSocket APIs. I will briefly introduce how to use it in this article.   

MSWSChat.zip is the sample to host in ASP.NET

MSWcfWSChat.zip is the sample to host as a WCF Service. 

Background    
Microsoft.WebSockets.dll  was initially released to wrap .NET WebSocket APIs and to help people easily use them. The wrapper makes the communication to event-based. It supports both binary (byte[]) and text messages. Note that the namespace is Microsoft.Web.WebSockets. It is a bit different from the assembly name.  

You could download it through NuGet within Visual Studio 2012. Just right-click your project to open the context menu and click Manage NuGet Packages. Then you could search and download the Microsoft.WebSockets package as the following picture indicates: 

Inline image 1

For more information, please refer to https://nuget.org/packages/Microsoft.WebSockets/0.2.3

Preparation 
To enable WebSocket on the server side, please refer to Part 1.  

Host in ASP.NET  
To host a WebSocket server in ASP.NET, I first write a class inherited from WebSocketHandler: 

Read more: Codeproject
QR: Inline image 2