A curated list of WebSockets related principles and technologies.
WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection. The WebSocket protocol was standardized by the IETF as RFC 6455 in 2011, and the WebSocket API in Web IDL is being standardized by the W3C.
Contents
- Tools per Language
- Command-Line Interface (CLI) Tools
- Real Life Stories
- Security
- Theory
- License
- Contributing
- Acknowledgments
- Websocketd - WebSockets the UNIX way - Full duplex messaging between web browsers and servers.
- Nchan - Nchan is a scalable, flexible pub/sub server for the modern web, built as a module for the Nginx web server.
- Apache-websocket - Apache WebSocket module.
- Libwebsockets - It's a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server.
- Libwebsock - C library for easy WebSockets server.
- Websocket - Websocket server written in C.
- facil.io - A server/framework library for web applications, including Websockets and native pub/sub.
- Websocketpp - C++ Websocket client/server library.
- QtWebSockets - The QtWebSockets module is an add-on for the Qt5 library.
- Beast - HTTP and WebSocket built on Boost.Asio in C++11.
- µWebSockets - Highly scalable WebSocket server & client library.
- Simple-WebSocket-Server - A very simple, fast, multithreaded, platform independent WebSocket (WS) and WebSocket Secure (WSS) server and client library implemented using C++11, Boost.Asio and OpenSSL.
- ASP.NET SignalR - Incredibly simple real-time web for .NET.
- WebSocketListener - Lightweight and highly scalable asynchronous WebSocket server for .NET/Mono.
- websocket-rpc - WebSocket RPC library for .NET with auto JavaScript client code generation, supporting ASP.NET Core.
- NetGain - A high performance websocket server library powering Stack Overflow.
- websocket-manager - Real-Time library for ASP .NET Core
- Sockjs-erlang - WebSocket emulation - Erlang server.
- Cowboy - Small, fast, modular HTTP server written in Erlang.
- Bullet - Simple, reliable, efficient streaming for Cowboy.
- Kraken - Distributed Pubsub Server for Realtime Apps.
- Gorilla Websocket Toolkit - WebSocket implementation for Go.
- Websocket - Package Websocket implements a client and server for the WebSocket protocol as specified in RFC 6455.
- Ws - Tiny WebSocket library for Go.
- Sente - Realtime web comms for Clojure/Script.
- Chord - Library designed to bridge the gap between the triad of CLJ/CLJS, web-sockets and core.async.
- Luminusweb - Luminus is a Clojure micro-framework based on a set of lightweight libraries.
- Project Tyrus - JSR 356: Java API for WebSocket - Reference Implementation.
- Java-WebSocket - Barebones WebSocket client and server implementation written in 100% Java.
- Atmosphere - Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks.
- Webbit - Java event based WebSocket and HTTP server.
- Play - The high velocity web framework for Java and Scala.
- Finagle-websocket - Finagle Websocket clients and servers.
- Socket.IO - Featuring the fastest and most reliable real-time engine.
- Nodejs-websocket - Node.js module for websocket server and client.
- WebSocket-Node - WebSocket Implementation for Node.JS (Draft -08 through the final RFC 6455).
- Sockjs-node - WebSocket emulation - Node.js server.
- Ws -
ws
: The fastest cross platform RFC-6455 WebSocket implementation for Node.js. - deepstream.io - Open realtime server a fast, secure and scalable realtime server for mobile, web & iot.
- websocket-as-promised - Promise-based W3C WebSocket wrapper: allows to use promises when connecting, disconnecting and messaging with WebSocket server.
- faye-websocket-node - Standards-compliant WebSocket client and server.
- ws-wrapper - Lightweight WebSocket wrapper that provides a socket.io-like event-handler API along with Promise-based requests.
- ws-server-wrapper - Companion library for ws-wrapper for the server-side.
- uws - Tiny WebSockets (access to the C++ library, µWebSockets, via Node.js)
- Net::WebSocket::Server - Straightforward Perl WebSocket server with minimal dependencies.
- Ratchet - Ratchet is a loosely coupled PHP library providing developers with tools to create real time, bi-directional applications between clients and servers over WebSockets.
- Php-websocket - Simple PHP WebSocket implementation for PHP 5.3.
- Phpws - PHP Web Socket server.
- Sandstone - Microframework to build a real time Rest API.
- Websockets - Websockets is a library for developing WebSocket servers and clients in Python.
- Ws4py - WebSocket package for Python.
- Autobahn.ws - Open-source real-time framework for Web, Mobile & Internet of Things.
- Tornado - Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
- AnyCable - Polyglot replacement for Ruby WebSocket servers with Action Cable protocol.
- Em-websocket - EventMachine based WebSocket server.
- Faye-websocket-ruby - Standards-compliant WebSocket client and server.
- Iodine - WebSocket/HTTP server with integrated pub/sub and optional Redis support.
- Websocket-driver-ruby - WebSocket protocol handler with pluggable I/O.
- Websocket-ruby - Universal Ruby library to handle WebSocket protocol.
- Scorched - Light-weight web framework for Ruby.
- Firehose - Build realtime Ruby web applications. Created by the fine folks at Poll Everywhere.
- Slanger - Open Pusher implementation compatible with Pusher libraries.
- render_sync - Real-time Rails Partials.
- websocket-rails - Plug and play websocket support for ruby on rails.
- RFC6455 - The WebSocket Protocol.
- The WebSocket API - The W3C The WebSocket API.
- Hixie76 - The WebSocket protocol draft-hixie-thewebsocketprotocol-76
- claws - Awesome WebSocket CLient - an interactive command line client for testing websocket servers.
- wscat - WebSocket cat.
- wsta - A CLI development tool for WebSocket APIs.
- ws - websocket command line tool.
- wssh - wssh ("wish") is a command-line utility/shell for WebSocket inspired by netcat.
- wsc - A tiny command line websocket client written in Go.
- ws-cli -WebSocket Command Line Client written in Go.
- The top 10 realtime web apps
- Super sync sports
- Firepad
- JabbR
- Kaazing
- Taskade - Real-time collaborative task lists and outlines.
- WebSockets - An Introduction - The problems and some security implications of websockets - Cross-site WebSockets Scripting (XSWS).
- Hacking with WebSockets - Talk on Blackhat USA 2012 Conference.
- Testing WebSockets - This article is part of the new OWASP Testing Guide v4.
- Websockets Auth - Journey into WebSockets Authentication/Authorization.
- Kaazing - HTML5 WebSocket Security is Strong.
- An introduction to Websockets - Brief History of Real-Time Web Applications.
- Introducing WebSockets: Bringing Sockets to the Web - The Problem: Low Latency Client-Server and Server-Client Connections.
- About HTML5 WebSocket - About HTML5 WebSocket.
- Node.js WebSocket - Finding the right Node.js WebSocket implementation.
- Websockets 101 - Armin Ronacher's Thoughts and Writings (creator of Flask).
- Real-time Apps - Building Real-time Apps with Websockets & Server-Sent Events.
- Real-Time Web by Paul Banks - The State of Real-Time Web in 2016.
- Are WebSockets the future? - WebSockets, caution required!
- MSDN Microsoft Blog - The Dangers of HTML5: WebSockets and Stable Standards.
- Webpush Internet-Draft - Generic Event Delivery Using HTTP Push.
- Full Stack Python - WebSockets on Python.
- Initial Steps to Use Websocket-rails - This is the very initial steps to use websocket-rails.
- Honeybadger.IO - Building a simple websockets server from scratch in Ruby.
- Engineyard - Getting Started with Ruby and WebSockets.
- David Walsh - WebSocket and Socket.IO.
- WebSocket - Lightweight Client-Server Communications. Andrew Lombardi.
- The Definitive Guide to HTML5 WebSocket - Build Real-Time Applications with HTML5. By Vanessa Wang, Frank Salim, and Peter Moskovits. Source Code here.
- Getting Started with HTML5 WebSocket Programming - Develop and deploy your first secure and scalable real-time web application. Vangos Pterneas.
- High Performance Browser Networking - High Performance Browser Networking: WebSocket.
- WebSocket ORG - The one-stop-shop for all your websocket needs.
- WebSockets MDN - WebSockets Mozilla Developer Network (MDN).
Please, read the Contribution Guidelines before submitting your suggestion.
Feel free to open an issue or create a pull request with your additions.
Thanks!
Table of contents generated with DocToc