All Projects → eidheim → Simple Websocket Server

eidheim / Simple Websocket Server

Licence: mit
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. Created to be an easy way to make WebSocket endpoints in C++.

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Simple Websocket Server

Simple Web Server
A very simple, fast, multithreaded, platform independent HTTP and HTTPS server and client library implemented using C++11 and Boost.Asio. Created to be an easy way to make REST resources available from C++ applications.
Stars: ✭ 2,261 (+230.07%)
Mutual labels:  library, server, asio, client
Clusterws Client Js
🔥 JavaScript Client for ClusterWS - lightweight, fast and powerful framework for building scalable WebSocket applications in Node.js.
Stars: ✭ 120 (-82.48%)
Mutual labels:  websocket, ws, client
Jstp
Fast RPC for browser and Node.js based on TCP, WebSocket, and MDSF
Stars: ✭ 132 (-80.73%)
Mutual labels:  server, websocket, client
Clusterws
💥 Lightweight, fast and powerful framework for building scalable WebSocket applications in Node.js
Stars: ✭ 868 (+26.72%)
Mutual labels:  server, websocket, ws
Qtswissarmyknife
QSAK (Qt Swiss Army Knife) is a multi-functional, cross-platform debugging tool based on Qt.
Stars: ✭ 196 (-71.39%)
Mutual labels:  server, websocket, client
Cocsharp
Clash of Clans library, proxy and server written in .NET [Unmaintained]
Stars: ✭ 94 (-86.28%)
Mutual labels:  library, server, client
Ts3admin.class
The ts3admin.class is a powerful api for communication with Teamspeak 3 Servers from your website! Your creativity knows no bounds!
Stars: ✭ 103 (-84.96%)
Mutual labels:  library, server, client
Simplenetwork
simple TCP server / client C++ linux socket
Stars: ✭ 225 (-67.15%)
Mutual labels:  library, server, client
Beast
HTTP and WebSocket built on Boost.Asio in C++11
Stars: ✭ 3,241 (+373.14%)
Mutual labels:  server, websocket, asio
Happypandax
A cross-platform server and client application for managing and reading manga and doujinshi
Stars: ✭ 432 (-36.93%)
Mutual labels:  server, client
Networksocket
NetworkSocket是一个以中间件(middleware)扩展通讯协议,以插件(plug)扩展服务器功能的支持SSL安全传输的通讯框架;目前支持http、websocket、fast、flex策略与silverlight策略协议。
Stars: ✭ 435 (-36.5%)
Mutual labels:  server, client
Agoo
A High Performance HTTP Server for Ruby
Stars: ✭ 679 (-0.88%)
Mutual labels:  server, websocket
Websocket
The Hoa\Websocket library.
Stars: ✭ 421 (-38.54%)
Mutual labels:  library, websocket
Graphql Ws
Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
Stars: ✭ 398 (-41.9%)
Mutual labels:  server, client
Node Bluetooth Serial Port
Serial I/O over bluetooth for NodeJS
Stars: ✭ 444 (-35.18%)
Mutual labels:  server, client
Mumble
Mumble is an open-source, low-latency, high quality voice chat software.
Stars: ✭ 4,418 (+544.96%)
Mutual labels:  server, client
Blacksheep
Fast ASGI web framework and HTTP client for Python asyncio
Stars: ✭ 450 (-34.31%)
Mutual labels:  server, client
Awesome Openapi3
😎 A list of awesome projects related to OpenAPI 3.0.x, curated by the community
Stars: ✭ 469 (-31.53%)
Mutual labels:  server, client
Mirakurun
A Modern DTV Tuner Server Service for ISDB.
Stars: ✭ 352 (-48.61%)
Mutual labels:  server, client
Curl
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. libcurl offers a myriad of powerful features
Stars: ✭ 22,875 (+3239.42%)
Mutual labels:  library, client

This project has moved to https://gitlab.com/eidheim/Simple-WebSocket-Server.

Simple-WebSocket-Server

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://gitlab.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://gitlab.com/cppit/jucipp.

Features

  • RFC 6455 mostly supported: text/binary frames, fragmented messages, ping-pong, connection close with status and reason.
  • Asynchronous message handling
  • Thread pool if needed
  • Platform independent
  • WebSocket Secure support
  • Timeouts, if any of SocketServer::timeout_request and SocketServer::timeout_idle are >0 (default: SocketServer::timeout_request=5 seconds, and SocketServer::timeout_idle=0 seconds; no timeout on idle connections)
  • Simple way to add WebSocket endpoints using regex for path, and anonymous functions
  • An easy to use WebSocket and WebSocket Secure client library
  • C++ bindings to the following OpenSSL methods: Base64, MD5, SHA1, SHA256 and SHA512 (found in crypto.hpp)

Usage

See ws_examples.cpp or wss_examples.cpp for example usage.

Dependencies

  • Boost.Asio or standalone Asio
  • OpenSSL libraries

Compile

Compile with a C++11 supported compiler:

mkdir build
cd build
cmake ..
make
cd ..

Run server and client examples

WS

./build/ws_examples

WSS

Before running the WSS-examples, an RSA private key (server.key) and an SSL certificate (server.crt) must be created. Follow, for instance, the instructions given here (for a self-signed certificate): http://www.akadia.com/services/ssh_test_certificate.html

Then:

./build/wss_examples
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].