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

  •        140

A very simple, fast, multithreaded, platform independent WebSocket (WS) and WebSocket Secure (WSS) server and client library implemented using C++11, Asio (both Boost.Asio and standalone Asio can be used) and OpenSSL. Created to be an easy way to make WebSocket endpoints in C++. See https://github.com/eidheim/Simple-Web-Server for an easy way to make REST resources available from C++ applications. Also, feel free to check out the new C++ IDE supporting C++11/14/17: https://github.com/cppit/jucipp.

https://github.com/eidheim/Simple-WebSocket-Server

Tags
Implementation
License
Platform

   




Related Projects

Simple-Web-Server - A very simple, fast, multithreaded, platform independent HTTP and HTTPS server and client library implemented using C++11 and Boost

  •    C++

A very simple, fast, multithreaded, platform independent HTTP and HTTPS server and client library implemented using C++11 and Asio (both Boost.Asio and standalone Asio can be used). Created to be an easy way to make REST resources available from C++ applications. See https://github.com/eidheim/Simple-WebSocket-Server for an easy way to make WebSocket/WebSocket Secure endpoints in C++. Also, feel free to check out the new C++ IDE supporting C++11/14/17: https://github.com/cppit/jucipp.

arduinoWebSockets - arduinoWebSockets

  •    C++

a WebSocket Server and Client for Arduino based on RFC6455. version 2.0 and up is not compatible with AVR/ATmega, check ATmega branch.

restinio - A header-only C++14 library that gives you an embedded HTTP/Websocket server

  •    C++

RESTinio is a header-only C++14 library that gives you an embedded HTTP/Websocket server. It is based on standalone version of ASIO and targeted primarily for asynchronous processing of HTTP-requests. Since v.0.4.1 Boost::ASIO (1.66 or higher) is also supported (see notes on building with Boost::ASIO). Server runs on the main thread, and respond to all requests with hello-world message. Of course you've got an access to the structure of a given HTTP request, so you can apply a complex logic for handling requests.

beast - HTTP and WebSocket built on Boost.Asio in C++11

  •    C++

Beast is a C++ header-only library serving as a foundation for writing interoperable networking libraries by providing low-level HTTP/1, WebSocket, and networking protocol vocabulary types and algorithms using the consistent asynchronous model of Boost.Asio. Symmetry: Algorithms are role-agnostic; build clients, servers, or both.

websocketpp - C++ websocket client/server library

  •    C++

WebSocket++ is a header only C++ library that implements RFC6455 The WebSocket Protocol. It allows integrating WebSocket client and server functionality into C++ programs. It uses interchangeable network transport modules including one based on raw char buffers, one based on C++ iostreams, and one based on Asio (either via Boost or standalone). End users can write additional transport policies to support other networking or event libraries as needed. GitHub pull requests should be submitted to the develop branch.


serial-port-json-server - A serial port JSON websocket server for Windows, Mac, Linux, Raspberry Pi, or BeagleBone Black that lets you communicate with your serial port from a web application

  •    Go

A serial port JSON websocket & web server that runs from the command line on Windows, Mac, Linux, Raspberry Pi, or Beagle Bone that lets you communicate with your serial port from a web application. This enables web apps to be written that can communicate with your local serial device such as an Arduino, CNC controller, or any device that communicates over the serial port. Since version 1.82 you can now also program your Arduino by uploading a hex file. The app is written in Go. It has an embedded web server and websocket server. The server runs on the standard port of localhost:8989. You can connect to it locally with your browser to interact by visiting http://localhost:8989. The websocket is technically running at ws://localhost/ws. You can of course connect to your websocket from any other computer to bind in remotely. For example, just connect to ws://192.168.1.10/ws if you are on a remote host where 192.168.1.10 is your devices actual IP address.

websocketpp - C++/Boost Asio based websocket client/server library

  •    C++

C++/Boost Asio based websocket client/server library

vpn-ws - A VPN system over websockets

  •    C

This is the client/server implementation of a layer-2 software switch able to route packets over websockets connections. A client creates a tap (ethernet-like) local device and connects to a websocket server (preferably over HTTPS). Once the websocket handshake is done, every packet received from the tuntap will be forwarded to the websocket server, and every websocket packet received from the server will be forwarded to the tuntap device.

Websocket - The Hoa\Websocket library.

  •    PHP

Hoa is a modular, extensible and structured set of PHP libraries. Moreover, Hoa aims at being a bridge between industrial and research worlds. This library allows to manipulate the WebSocket protocol and proposes a server and a client. It supports two specifications RFC6455 and Hybi (at the same time).

restbed - Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++11 applications

  •    C++

Restbed is a comprehensive and consistent programming model for building applications that require seamless and secure communication over HTTP, with the ability to model a range of business processes, designed to target mobile, tablet, desktop and embedded production environments. More in-depth examples can be found here. To see Restbed used in anger, please visit Corvusoft's RestQ project.

subscriptions-transport-ws - :arrows_clockwise: A WebSocket client + server for GraphQL subscriptions

  •    TypeScript

A GraphQL WebSocket server and client to facilitate GraphQL queries, mutations and subscriptions over WebSocket.subscriptions-transport-ws is an extension for GraphQL, and you can use it with any GraphQL client and server (not only Apollo).

ClusterWS - :boom: Lightweight, fast and powerful framework for building scalable WebSocket applications in Node

  •    TypeScript

Lightweight, fast and powerful framework for building scalable WebSocket applications in Node.js. ClusterWS uses uWebSockets - one of the most lightweight, efficient & scalable WebSocket library.

turbo-ws - :dash: Blazing fast low-level WebSocket server

  •    Javascript

The minimum supported Node version is v8.10.0. Sends a ping frame that may contain a payload. The client must send a Pong frame with the same payload in response. Check the connection.on('pong') method for more details.

faye-websocket-node - Standards-compliant WebSocket client and server

  •    Javascript

This is a general-purpose WebSocket implementation extracted from the Faye project. It provides classes for easily building WebSocket servers and clients in Node. It does not provide a server itself, but rather makes it easy to handle WebSocket connections within an existing Node application. It does not provide any abstraction other than the standard WebSocket API. It also provides an abstraction for handling EventSource connections, which are one-way connections that allow the server to push data to the client. They are based on streaming HTTP responses and can be easier to access via proxies than WebSockets.

nginx-websocket-proxy - nginx WebSocket Proxy

  •    

As of version 1.4, nginx is capable of forwarding WebSocket requests, so it can be used as a reverse proxy for HTTP, HTTPS, WS and WSS. Here are some simple example configuration snippets for WebSocket forwarding in nginx.

faye-websocket-ruby - Standards-compliant WebSocket client and server

  •    Ruby

This is a general-purpose WebSocket implementation extracted from the Faye project. It provides classes for easily building WebSocket servers and clients in Ruby. It does not provide a server itself, but rather makes it easy to handle WebSocket connections within an existing Rack application. It does not provide any abstraction other than the standard WebSocket API. It also provides an abstraction for handling EventSource connections, which are one-way connections that allow the server to push data to the client. They are based on streaming HTTP responses and can be easier to access via proxies than WebSockets.

easywsclient - A short and sweet WebSocket client for C++

  •    C++

Easywsclient is an easy and powerful WebSocket client to get your C++ code connected to a web stack right away. It depends only on the standard libraries. It is compatible with modern C++11 std::function and lambda, if they're available (it's not required though). RFC 6455 Version 13 WebSocket is supported. Version 13 is compatible with all major, modern WebSocket implementations, including Node.js, and has been a standard since December 2011. Rationale: This library is intended to help a C++ project start using WebSocket rapidly. This small library can easily be thrown into an existing project. For complicated builds that you can't figure out right away, you can even cheat by piggy-backing the .cpp file into one of the project's existing files. Yes, WebSocket is that awesome enough to warrant getting it integrated into your project! This project imposes no special interface requirements, and can work happily with new C++11 features or with older C++ projects.

Workerman - An asynchronous event driven PHP framework for easily building fast, scalable network applications

  •    PHP

Workerman is an asynchronous event driven PHP framework with high performance for easily building fast, scalable network applications. Supports HTTP, Websocket, SSL and other custom protocols. Supports libevent, HHVM , ReactPHP.

autobahn-testsuite - Autobahn WebSocket protocol testsuite

  •    Python

The Autobahn|Testsuite provides a fully automated test suite to verify client and server implementations of The WebSocket Protocol for specification conformance and implementation robustness. Autobahn|Testsuite also provides a couple of other tools useful for WebSocket (and WAMP) implementors and developers.

websocket-ruby - Universal Ruby library to handle WebSocket protocol

  •    Ruby

Universal Ruby library to handle WebSocket protocol. It focuses on providing abstraction layer over WebSocket API instead of providing server or client functionality. In order to use native extension just install websocket-native gem or add it to Gemfile - WebSocket will automatically detect and load it.