(ws) ws connect gains a new option to set the interval at which to send pings
This commit is contained in:
parent
c6204f4d90
commit
8ec515f292
@ -1,6 +1,39 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All changes to this project will be documented in this file.
|
All changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [8.2.7] - 2020-03-17
|
||||||
|
|
||||||
|
(ws) ws connect gains a new option to set the interval at which to send pings
|
||||||
|
|
||||||
|
```
|
||||||
|
IXWebSocket$ ws connect --ping_interval 2 wss://echo.websocket.org
|
||||||
|
Type Ctrl-D to exit prompt...
|
||||||
|
Connecting to url: wss://echo.websocket.org
|
||||||
|
> ws_connect: connected
|
||||||
|
[2020-03-17 23:53:02.726] [info] Uri: /
|
||||||
|
[2020-03-17 23:53:02.726] [info] Headers:
|
||||||
|
[2020-03-17 23:53:02.727] [info] Connection: Upgrade
|
||||||
|
[2020-03-17 23:53:02.727] [info] Date: Wed, 18 Mar 2020 06:45:05 GMT
|
||||||
|
[2020-03-17 23:53:02.727] [info] Sec-WebSocket-Accept: 0gtqbxW0aVL/QI/ICpLFnRaiKgA=
|
||||||
|
[2020-03-17 23:53:02.727] [info] sec-websocket-extensions:
|
||||||
|
[2020-03-17 23:53:02.727] [info] Server: Kaazing Gateway
|
||||||
|
[2020-03-17 23:53:02.727] [info] Upgrade: websocket
|
||||||
|
[2020-03-17 23:53:04.894] [info] Received pong
|
||||||
|
[2020-03-17 23:53:06.859] [info] Received pong
|
||||||
|
[2020-03-17 23:53:08.881] [info] Received pong
|
||||||
|
[2020-03-17 23:53:10.848] [info] Received pong
|
||||||
|
[2020-03-17 23:53:12.898] [info] Received pong
|
||||||
|
[2020-03-17 23:53:14.865] [info] Received pong
|
||||||
|
[2020-03-17 23:53:16.890] [info] Received pong
|
||||||
|
[2020-03-17 23:53:18.853] [info] Received pong
|
||||||
|
|
||||||
|
[2020-03-17 23:53:19.388] [info]
|
||||||
|
ws_connect: connection closed: code 1000 reason Normal closure
|
||||||
|
|
||||||
|
[2020-03-17 23:53:19.502] [info] Received 208 bytes
|
||||||
|
[2020-03-17 23:53:19.502] [info] Sent 0 bytes
|
||||||
|
```
|
||||||
|
|
||||||
## [8.2.6] - 2020-03-16
|
## [8.2.6] - 2020-03-16
|
||||||
|
|
||||||
(cobra to sentry bot + docker) default docker file uses mbedtls + ws cobra_to_sentry pass tls options to sentryClient.
|
(cobra to sentry bot + docker) default docker file uses mbedtls + ws cobra_to_sentry pass tls options to sentryClient.
|
||||||
|
@ -112,6 +112,7 @@ int main(int argc, char** argv)
|
|||||||
int count = 1;
|
int count = 1;
|
||||||
uint32_t maxWaitBetweenReconnectionRetries;
|
uint32_t maxWaitBetweenReconnectionRetries;
|
||||||
size_t maxQueueSize = 100;
|
size_t maxQueueSize = 100;
|
||||||
|
int pingIntervalSecs = 30;
|
||||||
|
|
||||||
auto addTLSOptions = [&tlsOptions, &verifyNone](CLI::App* app) {
|
auto addTLSOptions = [&tlsOptions, &verifyNone](CLI::App* app) {
|
||||||
app->add_option(
|
app->add_option(
|
||||||
@ -170,6 +171,9 @@ int main(int argc, char** argv)
|
|||||||
connectApp->add_option("--max_wait",
|
connectApp->add_option("--max_wait",
|
||||||
maxWaitBetweenReconnectionRetries,
|
maxWaitBetweenReconnectionRetries,
|
||||||
"Max Wait Time between reconnection retries");
|
"Max Wait Time between reconnection retries");
|
||||||
|
connectApp->add_option("--ping_interval",
|
||||||
|
pingIntervalSecs,
|
||||||
|
"Interval between sending pings");
|
||||||
connectApp->add_option("--subprotocol", subprotocol, "Subprotocol");
|
connectApp->add_option("--subprotocol", subprotocol, "Subprotocol");
|
||||||
addTLSOptions(connectApp);
|
addTLSOptions(connectApp);
|
||||||
|
|
||||||
@ -389,7 +393,8 @@ int main(int argc, char** argv)
|
|||||||
binaryMode,
|
binaryMode,
|
||||||
maxWaitBetweenReconnectionRetries,
|
maxWaitBetweenReconnectionRetries,
|
||||||
tlsOptions,
|
tlsOptions,
|
||||||
subprotocol);
|
subprotocol,
|
||||||
|
pingIntervalSecs);
|
||||||
}
|
}
|
||||||
else if (app.got_subcommand("chat"))
|
else if (app.got_subcommand("chat"))
|
||||||
{
|
{
|
||||||
|
3
ws/ws.h
3
ws/ws.h
@ -50,7 +50,8 @@ namespace ix
|
|||||||
bool binaryMode,
|
bool binaryMode,
|
||||||
uint32_t maxWaitBetweenReconnectionRetries,
|
uint32_t maxWaitBetweenReconnectionRetries,
|
||||||
const ix::SocketTLSOptions& tlsOptions,
|
const ix::SocketTLSOptions& tlsOptions,
|
||||||
const std::string& subprotocol);
|
const std::string& subprotocol,
|
||||||
|
int pingIntervalSecs);
|
||||||
|
|
||||||
int ws_receive_main(const std::string& url,
|
int ws_receive_main(const std::string& url,
|
||||||
bool enablePerMessageDeflate,
|
bool enablePerMessageDeflate,
|
||||||
|
@ -24,7 +24,8 @@ namespace ix
|
|||||||
bool binaryMode,
|
bool binaryMode,
|
||||||
uint32_t maxWaitBetweenReconnectionRetries,
|
uint32_t maxWaitBetweenReconnectionRetries,
|
||||||
const ix::SocketTLSOptions& tlsOptions,
|
const ix::SocketTLSOptions& tlsOptions,
|
||||||
const std::string& subprotocol);
|
const std::string& subprotocol,
|
||||||
|
int pingIntervalSecs);
|
||||||
|
|
||||||
void subscribe(const std::string& channel);
|
void subscribe(const std::string& channel);
|
||||||
void start();
|
void start();
|
||||||
@ -61,7 +62,8 @@ namespace ix
|
|||||||
bool binaryMode,
|
bool binaryMode,
|
||||||
uint32_t maxWaitBetweenReconnectionRetries,
|
uint32_t maxWaitBetweenReconnectionRetries,
|
||||||
const ix::SocketTLSOptions& tlsOptions,
|
const ix::SocketTLSOptions& tlsOptions,
|
||||||
const std::string& subprotocol)
|
const std::string& subprotocol,
|
||||||
|
int pingIntervalSecs)
|
||||||
: _url(url)
|
: _url(url)
|
||||||
, _disablePerMessageDeflate(disablePerMessageDeflate)
|
, _disablePerMessageDeflate(disablePerMessageDeflate)
|
||||||
, _binaryMode(binaryMode)
|
, _binaryMode(binaryMode)
|
||||||
@ -74,6 +76,7 @@ namespace ix
|
|||||||
}
|
}
|
||||||
_webSocket.setMaxWaitBetweenReconnectionRetries(maxWaitBetweenReconnectionRetries);
|
_webSocket.setMaxWaitBetweenReconnectionRetries(maxWaitBetweenReconnectionRetries);
|
||||||
_webSocket.setTLSOptions(tlsOptions);
|
_webSocket.setTLSOptions(tlsOptions);
|
||||||
|
_webSocket.setPingInterval(pingIntervalSecs);
|
||||||
|
|
||||||
_headers = parseHeaders(headers);
|
_headers = parseHeaders(headers);
|
||||||
|
|
||||||
@ -223,7 +226,8 @@ namespace ix
|
|||||||
bool binaryMode,
|
bool binaryMode,
|
||||||
uint32_t maxWaitBetweenReconnectionRetries,
|
uint32_t maxWaitBetweenReconnectionRetries,
|
||||||
const ix::SocketTLSOptions& tlsOptions,
|
const ix::SocketTLSOptions& tlsOptions,
|
||||||
const std::string& subprotocol)
|
const std::string& subprotocol,
|
||||||
|
int pingIntervalSecs)
|
||||||
{
|
{
|
||||||
std::cout << "Type Ctrl-D to exit prompt..." << std::endl;
|
std::cout << "Type Ctrl-D to exit prompt..." << std::endl;
|
||||||
WebSocketConnect webSocketChat(url,
|
WebSocketConnect webSocketChat(url,
|
||||||
@ -233,7 +237,8 @@ namespace ix
|
|||||||
binaryMode,
|
binaryMode,
|
||||||
maxWaitBetweenReconnectionRetries,
|
maxWaitBetweenReconnectionRetries,
|
||||||
tlsOptions,
|
tlsOptions,
|
||||||
subprotocol);
|
subprotocol,
|
||||||
|
pingIntervalSecs);
|
||||||
webSocketChat.start();
|
webSocketChat.start();
|
||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user