IXWebSocket/ws
2019-10-25 14:02:56 -07:00
..
.gitignore
broadcast-server.js
broadcast-server.py
CMakeLists.txt Add cobra_metrics_to_redis sub-command to create streams for each cobra metric event being received. 2019-10-24 14:42:36 -07:00
cobraMetricsSample.json
docker_build.sh
generate_certs.sh Implement SSL server with OpenSSL backend / still flaky 2019-10-01 15:43:37 -07:00
IXSentryClient.cpp
IXSentryClient.h
package-lock.json
README.md
test_ws_redis.sh
test_ws.sh add a target for building wihout ssl + take Matt Boer updated script to run ws test with SSL (still broken for large payload) 2019-10-03 07:47:34 -07:00
ws_autobahn.cpp
ws_broadcast_server.cpp all ws subcommands propagate tls options to servers (unimplemented) or ws or http client (implemented) (contributed by Matt DeBoer) 2019-09-30 18:21:20 -07:00
ws_chat.cpp
ws_cobra_metrics_publish.cpp
ws_cobra_metrics_to_redis.cpp remove unused quiet argument of ws cobra_metrics_to_redis command 2019-10-25 14:02:56 -07:00
ws_cobra_publish.cpp remove unused code in ws cobra_publish 2019-10-14 11:15:14 -07:00
ws_cobra_subscribe.cpp Add cobra_metrics_to_redis sub-command to create streams for each cobra metric event being received. 2019-10-24 14:42:36 -07:00
ws_cobra_to_sentry.cpp
ws_cobra_to_statsd.cpp
ws_connect.cpp Add client support for websocket subprotocol. Look for the new addSubProtocol method for details 2019-10-13 13:37:34 -07:00
ws_echo_server.cpp all ws subcommands propagate tls options to servers (unimplemented) or ws or http client (implemented) (contributed by Matt DeBoer) 2019-09-30 18:21:20 -07:00
ws_http_client.cpp
ws_httpd.cpp all ws subcommands propagate tls options to servers (unimplemented) or ws or http client (implemented) (contributed by Matt DeBoer) 2019-09-30 18:21:20 -07:00
ws_ping_pong.cpp Socket Factory has only one function which works for server and client code, and can do tls for both 2019-09-30 22:06:46 -07:00
ws_receive.cpp Socket Factory has only one function which works for server and client code, and can do tls for both 2019-09-30 22:06:46 -07:00
ws_redis_publish.cpp
ws_redis_server.cpp
ws_redis_subscribe.cpp
ws_send.cpp all ws subcommands propagate tls options to servers (unimplemented) or ws or http client (implemented) (contributed by Matt DeBoer) 2019-09-30 18:21:20 -07:00
ws_snake.cpp
ws_transfer.cpp all ws subcommands propagate tls options to servers (unimplemented) or ws or http client (implemented) (contributed by Matt DeBoer) 2019-09-30 18:21:20 -07:00
ws.cpp remove unused quiet argument of ws cobra_metrics_to_redis command 2019-10-25 14:02:56 -07:00
ws.h remove unused quiet argument of ws cobra_metrics_to_redis command 2019-10-25 14:02:56 -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