From 208c6930888d774bc5d7971336f87a22b2ec2c0e Mon Sep 17 00:00:00 2001 From: Benjamin Sergeant Date: Thu, 25 Oct 2018 14:40:58 -0700 Subject: [PATCH] ping / pong support / fix bug in dispatching received message type --- examples/ping_pong/ping_pong.cpp | 14 +++++++++++++- examples/ping_pong/test.sh | 5 +++++ ixwebsocket/IXWebSocket.cpp | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/examples/ping_pong/ping_pong.cpp b/examples/ping_pong/ping_pong.cpp index 4ac55b4c..d0d84eec 100644 --- a/examples/ping_pong/ping_pong.cpp +++ b/examples/ping_pong/ping_pong.cpp @@ -70,6 +70,18 @@ namespace << str; log(ss.str()); } + else if (messageType == ix::WebSocket_MessageType_Ping) + { + ss << "ws_connect: received ping message: " + << str; + log(ss.str()); + } + else if (messageType == ix::WebSocket_MessageType_Pong) + { + ss << "ws_connect: received pong message: " + << str; + log(ss.str()); + } else if (messageType == ix::WebSocket_MessageType_Error) { ss << "Connection error: " << error.reason << std::endl; @@ -78,7 +90,7 @@ namespace ss << "HTTP Status: " << error.http_status << std::endl; log(ss.str()); } - else if (messageType == ix::WebSocket_MessageType_Pong) + else { ss << "Invalid ix::WebSocketMessageType"; log(ss.str()); diff --git a/examples/ping_pong/test.sh b/examples/ping_pong/test.sh index 9504bbb4..0e88b45d 100644 --- a/examples/ping_pong/test.sh +++ b/examples/ping_pong/test.sh @@ -1,4 +1,9 @@ #!/bin/sh +test -d build || { + mkdir -p build + cd build + cmake .. +} (cd build ; make) ./build/ping_pong ws://localhost:5678 diff --git a/ixwebsocket/IXWebSocket.cpp b/ixwebsocket/IXWebSocket.cpp index fab18b53..f012bea7 100644 --- a/ixwebsocket/IXWebSocket.cpp +++ b/ixwebsocket/IXWebSocket.cpp @@ -199,7 +199,7 @@ namespace ix { } break; } - _onMessageCallback(WebSocket_MessageType_Message, msg, WebSocketErrorInfo()); + _onMessageCallback(webSocketMessageType, msg, WebSocketErrorInfo()); WebSocket::invokeTrafficTrackerCallback(msg.size(), true); });