IXWebSocket/ws
2020-06-17 17:13:45 -07:00
..
.gitignore ws / log subcommand name 2019-03-18 17:54:06 -07:00
broadcast-server.js cleanup 2019-02-22 20:51:22 -08:00
broadcast-server.py cleanup 2019-02-22 20:51:22 -08:00
CMakeLists.txt try to fix a double linking error on Windows with linenoise.hpp 2020-06-11 18:01:45 -07:00
cobraMetricsSample.json add example websocket C++ server snake which supports basic cobra ops (publish and subscribe without stream sql 2019-04-22 17:33:45 -07:00
docker_build.sh ws broacast_server / can set serving hostname 2019-03-10 16:36:44 -07:00
generate_certs.sh pre-commit / fix simple file trailing things 2020-03-21 19:31:38 -07:00
package-lock.json ws / log subcommand name 2019-03-18 17:54:06 -07:00
README.md update doc 2019-03-24 21:48:14 -07:00
test_ws_redis.sh Bump sleep time in test shell script 2019-03-29 09:36:56 -07:00
test_ws.sh pre-commit / fix simple file trailing things 2020-03-21 19:31:38 -07:00
ws_autobahn.cpp (ws client) all commands use spdlog instead of std::cerr or std::cout for logging 2019-12-24 21:55:34 -08:00
ws_broadcast_server.cpp ws send / detect disconnection earlier 2020-01-09 13:30:08 -08:00
ws_chat.cpp formatting 2020-01-09 13:45:31 -08:00
ws_cobra_metrics_publish.cpp indent files 2020-03-20 17:00:18 -07:00
ws_cobra_publish.cpp clang-format 2020-04-16 11:58:06 -07:00
ws_connect.cpp try to fix a double linking error on Windows with linenoise.hpp 2020-06-11 18:01:45 -07:00
ws_dns_lookup.cpp (WebSocketServer) add option to disable deflate compression, exposed with the -x option to ws echo_server 2020-02-18 21:38:28 -08:00
ws_echo_server.cpp (ws) ws echo_server gains a new option (-p) to disable responding to pings with pongs 2020-03-18 00:01:57 -07:00
ws_http_client.cpp (http server) support gzip compression 2020-05-29 16:49:29 -07:00
ws_httpd.cpp (ws client) all commands use spdlog instead of std::cerr or std::cout for logging 2019-12-24 21:55:34 -08:00
ws_ping_pong.cpp clang-format 2019-12-30 08:46:18 -08:00
ws_proxy_server.cpp clang-format 2019-12-30 08:46:18 -08:00
ws_receive.cpp (ws send + receive) handle all message types (ping + pong + fragment) / investigate #140 2020-01-04 13:45:07 -08:00
ws_redis_cli.cpp (ws) add bare bone redis-cli like sub-command, with command line editing powered by libnoise 2020-06-11 17:30:42 -07:00
ws_redis_publish.cpp (redis cobra bots) update the cobra to redis bot to use the bot framework, and change it to report fps metrics into redis streams. 2020-06-10 22:30:55 -07:00
ws_redis_server.cpp (redis cobra bots) update the cobra to redis bot to use the bot framework, and change it to report fps metrics into redis streams. 2020-06-10 22:30:55 -07:00
ws_redis_subscribe.cpp (redis cobra bots) update the cobra to redis bot to use the bot framework, and change it to report fps metrics into redis streams. 2020-06-10 22:30:55 -07:00
ws_send.cpp formatting 2020-03-24 20:37:55 -07:00
ws_sentry_minidump_upload.cpp (http client + sentry minidump upload) Multipart stream closing boundary is invalid + mark some options as mandatory in the command line toolsj 2020-02-13 12:25:18 -08:00
ws_snake.cpp (snake) add an option to disable answering pongs as response to pings, to test cobra client behavior with hanged connections 2020-01-31 16:55:54 -08:00
ws_transfer.cpp test broadcast server 2020-01-12 21:32:26 -08:00
ws.cpp (cobra client and bots) add batch_size subscription option for retrieving multiple messages at once 2020-06-17 17:13:45 -07:00
ws.h (ws) add bare bone redis-cli like sub-command, with command line editing powered by libnoise 2020-06-11 17:30:42 -07:00

General

ws is a command line tool that should exercise most of the IXWebSocket code, and provide example code.

$ ws --help
ws is a websocket tool
Usage: ws [OPTIONS] SUBCOMMAND

Options:
  -h,--help                   Print this help message and exit

Subcommands:
  send                        Send a file
  receive                     Receive a file
  transfer                    Broadcasting server
  connect                     Connect to a remote server
  chat                        Group chat
  echo_server                 Echo server
  broadcast_server            Broadcasting server
  ping                        Ping pong
  curl                        HTTP Client
  redis_publish               Redis publisher
  redis_subscribe             Redis subscriber

file transfer

# Start transfer server, which is just a broadcast server at this point
ws transfer # running on port 8080.

# Start receiver first
ws receive ws://localhost:8080

# Then send a file. File will be received and written to disk by the receiver process
ws send ws://localhost:8080 /file/to/path

curl

$ ws curl --help
HTTP Client
Usage: ws curl [OPTIONS] url

Positionals:
  url TEXT REQUIRED           Connection url

Options:
  -h,--help                   Print this help message and exit
  -d TEXT                     Form data
  -F TEXT                     Form data
  -H TEXT                     Header
  --output TEXT               Output file
  -I                          Send a HEAD request
  -L                          Follow redirects
  --max-redirects INT         Max Redirects
  -v                          Verbose
  -O                          Save output to disk
  --compress                  Enable gzip compression
  --connect-timeout INT       Connection timeout
  --transfer-timeout INT      Transfer timeout