Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
#7 Compare This branch is 10 commits ahead, 23 commits behind ejeklint:master.
brandenhall Merge pull request #1 from bergcloud/master
Patch to fix some minor bugs and broaden functionality
Latest commit 220d643 May 2, 2014
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Clean up of unneeded files Aug 3, 2012
MD5.h Works again after major cleanup. Mar 15, 2011
WebSocketServer.cpp Fixed disconnect messages Aug 3, 2012
global.h Needed for keyphrase Jan 16, 2011
sha1.cpp Working with hixie-76 Apr 4, 2012
sha1.h Working with hixie-76 Apr 4, 2012

Websocket Client and Server for Arduino

This is a simple library that implements a Websocket client and server running on an Arduino.

Getting started

The example WebSocketServer.html file should be served from any web server you have access to. Remember to change the URL in it to your Arduino. The examples are based on using a WiFly wireless card to connect. If you're using ethernet instead you'll need to swap out the client class.

Install the library to "libraries" folder in your Arduino sketchbook folder. For example, on a mac that's ~/Documents/Arduino/libraries.

Try the examples to ensure that things work.

Start playing with your own code!


Inside of the WebSocketServer class there is a compiler directive to turn on support for the older "Hixie76" standard. If you don't need it, leave it off as it greatly increases the memory required.

Because of limitations of the current Arduino platform (Uno at the time of this writing), this library does not support messages larger than 65535 characters. In addition, this library only supports single-frame text frames. It currently does not recognize continuation frames, binary frames, or ping/pong frames.


Thank you to github user ejeklint for the excellent starting point for this library. From his original Hixie76-only code I was able to add support for RFC 6455 and create the WebSocket client.

  • Branden
You can’t perform that action at this time.