|
|
@ -78,7 +78,7 @@ void IflytopFrontEndService::sendReport(json reportType, json report) { |
|
|
|
|
|
|
|
auto clients = m_reportServer->getClients(); |
|
|
|
for (auto& each : clients) { |
|
|
|
each->sendText(report.dump()); |
|
|
|
each->sendText(report.dump()); |
|
|
|
} |
|
|
|
auto serverClients = m_server->getClients(); |
|
|
|
for (auto& each : serverClients) { |
|
|
@ -92,7 +92,7 @@ void IflytopFrontEndService::sendClassReport(string fromclass, string fromfn, co |
|
|
|
json report; |
|
|
|
report["fromClass"] = fromclass; |
|
|
|
report["fromFn"] = fromfn; |
|
|
|
report["rely"] = rely; |
|
|
|
report["rely"] = rely; |
|
|
|
sendReport("classReport", report); |
|
|
|
} |
|
|
|
|
|
|
@ -112,8 +112,6 @@ void IflytopFrontEndService::onMessageCallback(weak_ptr<WebSocket> webSocket, sh |
|
|
|
logger->info(" {}: {}", it.first, it.second); |
|
|
|
} |
|
|
|
|
|
|
|
// m_workQueue->enQueue([this, webSocket]() { onConnect(webSocket); });
|
|
|
|
|
|
|
|
} else if (msg->type == ix::WebSocketMessageType::Message) { |
|
|
|
logger->debug("downlink msg: {}", msg->str); |
|
|
|
string msgtext = msg->str; |
|
|
@ -126,12 +124,21 @@ void IflytopFrontEndService::onMessageCallback(weak_ptr<WebSocket> webSocket, sh |
|
|
|
logger->error("catch exception,processRxMessage error: {}", e.what()); |
|
|
|
} |
|
|
|
logger->debug("<-------------process rx end\n"); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} else if (msg->type == ix::WebSocketMessageType::Close) { |
|
|
|
logger->info("{} Closed connection", msg->closeInfo.remote); |
|
|
|
// m_workQueue->enQueue([this, webSocket]() { onDisconnect(webSocket); });
|
|
|
|
logger->info("{} Closed connection", connectionState->getRemoteIp(), msg->closeInfo.reason); |
|
|
|
} else if (msg->type == ix::WebSocketMessageType::Error) { |
|
|
|
logger->error("WebSocket Error : {}", msg->errorInfo.reason); |
|
|
|
logger->error(" #retries : {}", msg->errorInfo.retries); |
|
|
|
logger->error(" Wait time(ms) : {}", msg->errorInfo.wait_time); |
|
|
|
logger->error(" HTTP Status : {}", msg->errorInfo.http_status); |
|
|
|
} else if (msg->type == ix::WebSocketMessageType::Ping) { |
|
|
|
logger->debug("WebSocket ping received"); |
|
|
|
} else if (msg->type == ix::WebSocketMessageType::Pong) { |
|
|
|
logger->debug("WebSocket pong received"); |
|
|
|
} else { |
|
|
|
logger->warn("Unknown WebSocket message type: {}", static_cast<int>(msg->type)); |
|
|
|
} |
|
|
|
} |
|
|
|
void IflytopFrontEndService::processRxMessage(weak_ptr<WebSocket> webSocket, string rxmsg) { |
|
|
@ -157,36 +164,36 @@ void IflytopFrontEndService::processRxMessage(weak_ptr<WebSocket> webSocket, str |
|
|
|
} catch (const detail::parse_error& e) { |
|
|
|
// json parse error
|
|
|
|
logger->error("process rx json failed,exception:{},{}", e.what(), msgtext); |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["message"] = ecode2str(err::kappe_parse_json_err) + "," + e.what(); |
|
|
|
ws->sendText(receipt.dump(1)); |
|
|
|
} catch (const detail::invalid_iterator& e) { |
|
|
|
// json parse error
|
|
|
|
logger->error("process rx json failed,exception:{},{}", e.what(), msgtext); |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["message"] = ecode2str(err::kappe_parse_json_err) + "," + e.what(); |
|
|
|
ws->sendText(receipt.dump(1)); |
|
|
|
} catch (const detail::type_error& e) { |
|
|
|
// json parse error
|
|
|
|
logger->error("process rx json failed,exception:{},{}", e.what(), msgtext); |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["message"] = ecode2str(err::kappe_parse_json_err) + "," + e.what(); |
|
|
|
ws->sendText(receipt.dump(1)); |
|
|
|
} catch (const detail::out_of_range& e) { |
|
|
|
// json parse error
|
|
|
|
logger->error("process rx json failed,exception:{},{}", e.what(), msgtext); |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["message"] = ecode2str(err::kappe_parse_json_err) + "," + e.what(); |
|
|
|
ws->sendText(receipt.dump(1)); |
|
|
|
} catch (const detail::other_error& e) { |
|
|
|
// json parse error
|
|
|
|
logger->error("process rx json failed,exception:{},{}", e.what(), msgtext); |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["ackcode"] = err::kappe_parse_json_err; |
|
|
|
receipt["message"] = ecode2str(err::kappe_parse_json_err); |
|
|
|
ws->sendText(receipt.dump(1)); |
|
|
|
} catch (const std::exception& e) { |
|
|
|
logger->error("process rx json failed,exception:{},{}", e.what(), msgtext); |
|
|
|
receipt["ackcode"] = err::kappe_std_exception; |
|
|
|
receipt["ackcode"] = err::kappe_std_exception; |
|
|
|
receipt["message"] = ecode2str(err::kappe_std_exception) + "," + e.what(); |
|
|
|
ws->sendText(receipt.dump(1)); |
|
|
|
} |
|
|
|