|
@ -58,11 +58,14 @@ void ExtAPIService::initCanPassthroughServer() { |
|
|
*/ |
|
|
*/ |
|
|
m_canPassthroughServer.reset(new WebSocketServer(19005, "0.0.0.0")); |
|
|
m_canPassthroughServer.reset(new WebSocketServer(19005, "0.0.0.0")); |
|
|
m_canPassthroughServer->setOnConnectionCallback([this](weak_ptr<WebSocket> webSocket, shared_ptr<ConnectionState> connectionState) { |
|
|
m_canPassthroughServer->setOnConnectionCallback([this](weak_ptr<WebSocket> webSocket, shared_ptr<ConnectionState> connectionState) { |
|
|
|
|
|
logger->info("url: {}", webSocket.lock()->getUrl()); |
|
|
|
|
|
|
|
|
logger->info("m_canPassthroughServer on connect remote ip: {}", connectionState->getRemoteIp()); |
|
|
logger->info("m_canPassthroughServer on connect remote ip: {}", connectionState->getRemoteIp()); |
|
|
auto ws = webSocket.lock(); |
|
|
auto ws = webSocket.lock(); |
|
|
if (!ws) return; |
|
|
if (!ws) return; |
|
|
|
|
|
|
|
|
ws->setOnMessageCallback([this, webSocket](const ix::WebSocketMessagePtr &msg) { //
|
|
|
ws->setOnMessageCallback([this, webSocket](const ix::WebSocketMessagePtr &msg) { //
|
|
|
|
|
|
logger->info("m_canPassthroughServer on message {}", webSocket.lock()->getUrl()); |
|
|
try { |
|
|
try { |
|
|
if (msg->type == ix::WebSocketMessageType::Message) { |
|
|
if (msg->type == ix::WebSocketMessageType::Message) { |
|
|
logger->info("websocket-ch -> {}({})", msg->str, msg->wireSize); |
|
|
logger->info("websocket-ch -> {}({})", msg->str, msg->wireSize); |
|
@ -79,6 +82,12 @@ void ExtAPIService::initCanPassthroughServer() { |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
m_canPassthroughServer->setOnClientMessageCallback([this](std::shared_ptr<ConnectionState>, WebSocket &, const WebSocketMessagePtr &) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
m_zcanreceiverhost->registerListener([this](uint8_t fromboardid, uint8_t *packet, size_t len) { |
|
|
m_zcanreceiverhost->registerListener([this](uint8_t fromboardid, uint8_t *packet, size_t len) { |
|
|
string hexStr = StringUtils().bytesToString((uint8_t *)packet, len); |
|
|
string hexStr = StringUtils().bytesToString((uint8_t *)packet, len); |
|
|
auto clients = m_canPassthroughServer->getClients(); |
|
|
auto clients = m_canPassthroughServer->getClients(); |
|
|