Skip to content

MepaIT/awesome-websockets

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome WebSockets Awesome

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

Agnostic

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

C

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

C++

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

C#

  • 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

Erlang

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

Go

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

Java VM

Clojure

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

Java

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

Scala

  • Play - The high velocity web framework for Java and Scala.
  • Finagle-websocket - Finagle Websocket clients and servers.

Node.js

  • 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)

Perl

PHP

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

Python

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

Ruby

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

Protocols and APIs

Command-Line Interface (CLI) Tools

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

Real Life Stories

Security

Theory

Articles & Papers

Talks

Tutorials

Books

Sites

License

CC0

Contributing

Please, read the Contribution Guidelines before submitting your suggestion.

Feel free to open an issue or create a pull request with your additions.

Thanks!

Acknowledgments

Table of contents generated with DocToc

About

A curated list of Websocket libraries and resources.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published