IXWebSocket/ws
2020-08-14 15:09:12 -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 (ws) Add a new ws sub-command, push_server. This command runs a server which sends many messages in a loop to a websocket client. We can receive above 200,000 messages per second (cf #235). 2020-08-02 12:41:34 -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
proxyConfig.json (websocket proxy server) add ability to map different hosts to different websocket servers, using a json config file 2020-08-13 21:20:42 -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 (ws) Add a new ws sub-command, echo_client. This command send a message to an echo server, and send back to a server whatever message it does receive. When connecting to a local ws echo_server, on my MacBook Pro 2015 I can send/receive around 30,000 messages per second. (cf #235) 2020-08-02 12:09:13 -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_client.cpp (ws) Add a new ws sub-command, push_server. This command runs a server which sends many messages in a loop to a websocket client. We can receive above 200,000 messages per second (cf #235). 2020-08-02 12:41:34 -07: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_push_server.cpp (ws) Add a new ws sub-command, push_server. This command runs a server which sends many messages in a loop to a websocket client. We can receive above 200,000 messages per second (cf #235). 2020-08-02 12:41:34 -07: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 (ws) have more subcommand handle --pidfile, to write pid to a file 2020-08-14 15:09:12 -07:00
ws.h (ws) Add a new ws sub-command, push_server. This command runs a server which sends many messages in a loop to a websocket client. We can receive above 200,000 messages per second (cf #235). 2020-08-02 12:41:34 -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