Arduino core for ESP32 Wiki content

Websocket Client and Server

Ported for ESP8266, but reported to work with ESP32 as well:

ESP8266-Websocket

Websocket
 Client and Server for ESP-8266
This is a simple library that implements a Websocket client and server 
running on an ESP-8266.

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!

Notes
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.

Credits
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