diff --git a/ws/ws_broadcast_server.cpp b/ws/ws_broadcast_server.cpp index 4dfe000d..6ef7f47b 100644 --- a/ws/ws_broadcast_server.cpp +++ b/ws/ws_broadcast_server.cpp @@ -39,11 +39,23 @@ namespace ix } else if (messageType == ix::WebSocket_MessageType_Close) { - std::cerr << "Closed connection" << std::endl; + std::cerr << "Closed connection" + << " code " << closeInfo.code + << " reason " << closeInfo.reason << std::endl; + } + else if (messageType == ix::WebSocket_MessageType_Error) + { + std::stringstream ss; + ss << "Connection error: " << error.reason << std::endl; + ss << "#retries: " << error.retries << std::endl; + ss << "Wait time(ms): " << error.wait_time << std::endl; + ss << "HTTP Status: " << error.http_status << std::endl; + std::cerr << ss.str(); } else if (messageType == ix::WebSocket_MessageType_Message) { std::cerr << "Received " << wireSize << " bytes" << std::endl; + for (auto&& client : server.getClients()) { if (client != webSocket) diff --git a/ws/ws_chat.cpp b/ws/ws_chat.cpp index c6cb8ff3..934b50df 100644 --- a/ws/ws_chat.cpp +++ b/ws/ws_chat.cpp @@ -94,16 +94,26 @@ namespace ix std::stringstream ss; if (messageType == ix::WebSocket_MessageType_Open) { - ss << "cmd_websocket_chat: user " + log("ws chat: connected"); + std::cout << "Uri: " << openInfo.uri << std::endl; + std::cout << "Handshake Headers:" << std::endl; + for (auto it : openInfo.headers) + { + std::cout << it.first << ": " << it.second << std::endl; + } + + ss << "ws chat: user " << _user << " Connected !"; log(ss.str()); } else if (messageType == ix::WebSocket_MessageType_Close) { - ss << "cmd_websocket_chat: user " + ss << "ws chat: user " << _user - << " disconnected !"; + << " disconnected !" + << " code " << closeInfo.code + << " reason " << closeInfo.reason; log(ss.str()); } else if (messageType == ix::WebSocket_MessageType_Message) @@ -117,7 +127,7 @@ namespace ix _receivedQueue.push(result.second); ss << std::endl - << result.first << " > " << result.second + << result.first << "(" << wireSize << " bytes)" << " > " << result.second << std::endl << _user << " > "; log(ss.str()); @@ -188,5 +198,7 @@ namespace ix std::cout << std::endl; webSocketChat.stop(); + + return 0; } } diff --git a/ws/ws_connect.cpp b/ws/ws_connect.cpp index ac0b8577..9fda794d 100644 --- a/ws/ws_connect.cpp +++ b/ws/ws_connect.cpp @@ -84,6 +84,8 @@ namespace ix } else if (messageType == ix::WebSocket_MessageType_Message) { + std::cerr << "Received " << wireSize << " bytes" << std::endl; + ss << "ws_connect: received message: " << str; log(ss.str()); diff --git a/ws/ws_echo_server.cpp b/ws/ws_echo_server.cpp index 37a831b1..55394200 100644 --- a/ws/ws_echo_server.cpp +++ b/ws/ws_echo_server.cpp @@ -17,10 +17,10 @@ namespace ix ix::WebSocketServer server(port); server.setOnConnectionCallback( - [&server](std::shared_ptr webSocket) + [](std::shared_ptr webSocket) { webSocket->setOnMessageCallback( - [webSocket, &server](ix::WebSocketMessageType messageType, + [webSocket](ix::WebSocketMessageType messageType, const std::string& str, size_t wireSize, const ix::WebSocketErrorInfo& error, @@ -39,7 +39,18 @@ namespace ix } else if (messageType == ix::WebSocket_MessageType_Close) { - std::cerr << "Closed connection" << std::endl; + std::cerr << "Closed connection" + << " code " << closeInfo.code + << " reason " << closeInfo.reason << std::endl; + } + else if (messageType == ix::WebSocket_MessageType_Error) + { + std::stringstream ss; + ss << "Connection error: " << error.reason << std::endl; + ss << "#retries: " << error.retries << std::endl; + ss << "Wait time(ms): " << error.wait_time << std::endl; + ss << "HTTP Status: " << error.http_status << std::endl; + std::cerr << ss.str(); } else if (messageType == ix::WebSocket_MessageType_Message) { diff --git a/ws/ws_ping_pong.cpp b/ws/ws_ping_pong.cpp index 6833084a..025bb87e 100644 --- a/ws/ws_ping_pong.cpp +++ b/ws/ws_ping_pong.cpp @@ -61,10 +61,19 @@ namespace ix const ix::WebSocketOpenInfo& openInfo, const ix::WebSocketCloseInfo& closeInfo) { + std::cerr << "Received " << wireSize << " bytes" << std::endl; + std::stringstream ss; if (messageType == ix::WebSocket_MessageType_Open) { log("ping_pong: connected"); + + std::cout << "Uri: " << openInfo.uri << std::endl; + std::cout << "Handshake Headers:" << std::endl; + for (auto it : openInfo.headers) + { + std::cout << it.first << ": " << it.second << std::endl; + } } else if (messageType == ix::WebSocket_MessageType_Close) { @@ -153,5 +162,7 @@ namespace ix std::cout << std::endl; webSocketPingPong.stop(); + + return 0; } } diff --git a/ws/ws_transfer.cpp b/ws/ws_transfer.cpp index 00c627c9..274bb8cf 100644 --- a/ws/ws_transfer.cpp +++ b/ws/ws_transfer.cpp @@ -39,7 +39,18 @@ namespace ix } else if (messageType == ix::WebSocket_MessageType_Close) { - std::cerr << "Closed connection" << std::endl; + std::cerr << "Closed connection" + << " code " << closeInfo.code + << " reason " << closeInfo.reason << std::endl; + } + else if (messageType == ix::WebSocket_MessageType_Error) + { + std::stringstream ss; + ss << "Connection error: " << error.reason << std::endl; + ss << "#retries: " << error.retries << std::endl; + ss << "Wait time(ms): " << error.wait_time << std::endl; + ss << "HTTP Status: " << error.http_status << std::endl; + std::cerr << ss.str(); } else if (messageType == ix::WebSocket_MessageType_Message) {