IXWebSocket/ws
2020-07-29 17:46:37 -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 can compile on macOS against jsoncpp installed from homebrew 2020-07-28 22:00:29 -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 ws test shell script / add option so tune how large sent file will be 2020-07-29 17:46:37 -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) port broadcast_server sub-command to the new server API 2020-07-24 14:35:07 -07:00
ws_chat.cpp formatting 2020-01-09 13:45:31 -08:00
ws_cobra_metrics_publish.cpp can compile on macOS against jsoncpp installed from homebrew 2020-07-28 22:00:29 -07:00
ws_cobra_publish.cpp can compile on macOS against jsoncpp installed from homebrew 2020-07-28 22:00:29 -07:00
ws_connect.cpp (websocket client) heartbeat is not sent at the requested frequency (fix #232) 2020-07-29 11:24:42 -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 (websocket server) add a new simpler API to handle client connections / that API does not trigger a memory leak while the previous one did 2020-07-23 19:29:41 -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_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 clang format 2020-07-08 10:39:46 -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 can compile on macOS against jsoncpp installed from homebrew 2020-07-28 22:00:29 -07:00
ws_snake.cpp snake: stream sql mock + add republished channel option 2020-07-10 15:06:55 -07:00
ws_transfer.cpp (ws) port ws transfer to the new server API 2020-07-24 11:52:16 -07:00
ws.cpp (ixwebsocket) add WebSocketProxyServer, from ws. Still need to make the interface better. 2020-07-25 11:26:06 -07:00
ws.h (ixwebsocket) add WebSocketProxyServer, from ws. Still need to make the interface better. 2020-07-25 11:26:06 -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