An extremely efficient C# WebSocket server.
Latest commit 42c00b6 Oct 1, 2013 @ajacksified ajacksified Merge pull request #80 from jhaygood86/fix-close
Send 0x8 byte when closed

Alchemy Websockets

Version 2.0.0

Protocol Support

Alchemy websockets supports:

  • (✓) hixie-76 (hybi00)
  • (✓) hybi-10
  • (✓) hybi-17 (official protocol)

An extremely efficient C# WebSocket server.

You can download the client javascript library at alchemy-websockets-client-library



Alchemy Websockets is a Visual Studio 2010 project. It can be loaded in the free Visual C# Express and Monodevelop as well (and potentially other compatible IDEs.)

After compilation, include the dll as a reference into your project. From there, starting a server is as simple as instantiating an WSServer object, opening the connection, and binding events.

An example application can be seen on alchemy-websockets-example


using Alchemy;
using Alchemy.Classes;

static void Main(string[] args)
  var aServer = new WSServer(8100, IPAddress.Any)
      DefaultOnReceive = OnReceive,
      DefaultOnSend = OnSend,
      DefaultOnConnect = OnConnect,
      DefaultOnConnected = OnConnected,
      DefaultOnDisconnect = OnDisconnect,
      TimeOut = new TimeSpan(0, 5, 0)


static void OnConnected(UserContext aContext)
  Console.WriteLine("Client Connection From : " + aContext.ClientAddress.ToString());



Check out our documentation at

This covers Chrome current, beta, and alpha channels; Firefox latest, beta, and alpha channels; Safari, and includes support for a flash-based socket fallback for browsers with no socket support natively.

Browser Support List


Licensed under LGPL and MIT. Copyright 2011, Olivine Labs, LLC.