From 2b43077d967c28fe99e1ff2b99f19e1433c710d9 Mon Sep 17 00:00:00 2001 From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 17 八月 2017 12:28:36 +0800 Subject: [PATCH] aaaaa --- VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp | 141 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 113 insertions(+), 28 deletions(-) diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp index 963b60c..3c77217 100644 --- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp +++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp @@ -2,41 +2,126 @@ // Created by pansen on 2017/8/4. // #include "AppConfig.h" -#include "RemoteFunc.h" #include "RemoteFuncServer.h" +#include "RemoteFunc.h" #include "RtspNativeCodecJNIServer.h" -RemoteServer<RtspFaceViewImpl> remoteServer("127.0.0.1",8112); -RtspFaceDetectClient rtspFaceDetectClient; -void startRemoteServer(){ - AppConfig config; - config.loadConfig("data/config.cfg"); + +#include <string> +#include <iostream> +using namespace std; + +//#todo 淇敼鏈嶅姟绾跨▼鏋勯�犲弬鏁颁紶鍏ユ柟寮� +RemoteServer<RtspFaceViewImpl> remoteServer("192.168.1.94", 8112); +//RemoteServer<RtspFaceViewImpl> remoteServer("192.168.1.97", 8112); +static RtspFaceDetectClient* rtspFaceDetectClient = nullptr; + +void startRemoteServer() +{ +; + AppConfig config; + config.loadConfig("data/config.cfg"); remoteServer.start(); -} -RtspFaceDetectClient& getRtspFaceDetectClient(){ - return rtspFaceDetectClient; -} -//#todo -RtspFaceDetectClient::RtspFaceDetectClient():rpcClient("127.0.0.1",8111), - RtspFaceDetect::Client(rpcClient.getMain<RtspFaceDetect>()) -{} -::kj::WaitScope& RtspFaceDetectClient::getWaitScope() { - return rpcClient.getWaitScope(); +// //#todo 璋冪敤浣嶇疆绉诲姩 +// try +// { +// RtspFaceDetectClient rtspFaceDetectClient = RtspFaceDetectClient(); +// RtspFaceDetect::Client& rClient = rtspFaceDetectClient.getClient(); +// +// auto& waitScope = rtspFaceDetectClient.getWaitScope(); +// auto request = rClient.fireFaceCountListenerRequest(); +// auto sendAct = request.send(); +// sendAct.wait(waitScope); +// } +// catch (const kj::Exception& e) +// { +// cout << e.getDescription().cStr() << endl; +// return; +// } + //#end } -::kj::Promise<void> RtspFaceViewImpl::getFaceList(GetFaceListContext context) { - auto results = context.getResults(); - remoteGetFaceList(context.getParams(), results); - context.setResults(results); +RtspFaceDetectClient * getRtspFaceDetectClient() +{ + if(rtspFaceDetectClient == nullptr) + rtspFaceDetectClient = new RtspFaceDetectClient; + return rtspFaceDetectClient; } -::kj::Promise<void> RtspFaceViewImpl::getFaceImages(GetFaceImagesContext context){ - auto results = context.getResults(); - remoteGetFaceListImage(context.getParams(), results); - context.setResults(results); +//#todo 鏋勯�犲嚱鏁颁慨鏀� +RtspFaceDetectClient::RtspFaceDetectClient() : + rpcClient(nullptr) +{ } -::kj::Promise<void> RtspFaceViewImpl::setFaceLabel(SetFaceLabelContext context) { - auto results = context.getResults(); - remoteSetFaceLabel(context.getParams(), results); - context.setResults(results); +RtspFaceDetect::Client* RtspFaceDetectClient::getClient() +{ + LOG_INFO << "new client @ " << (int*)client << LOG_ENDL; + + if (client == nullptr) { + LOG_INFO << "new client 2" << LOG_ENDL; + try + { + client = new RtspFaceDetect::Client(getEzRpcClient()->getMain<RtspFaceDetect>()); + } + catch (const kj::Exception& e) + { + LOG_ERROR << "new client error" << LOG_ENDL; + delete client; + client = nullptr; + throw e; + } + } + return client; +} + +::kj::WaitScope &RtspFaceDetectClient::getWaitScope() +{ + return getEzRpcClient()->getWaitScope(); +} + +capnp::EzRpcClient * RtspFaceDetectClient::getEzRpcClient() +{ + if (rpcClient == nullptr) { + try + { + //#todo ip test + //rpcClient = new capnp::EzRpcClient("192.168.1.89", 8111); + //client + rpcClient = new capnp::EzRpcClient("192.168.1.97", 8111); + } + catch (const kj::Exception& e) + { + delete rpcClient; + rpcClient = nullptr; + throw e; + } + } + return rpcClient; +} + +::kj::Promise<void> RtspFaceViewImpl::getFaceList(GetFaceListContext context) +{ + auto results = context.getResults(); + remoteGetFaceList(context.getParams(), results); + context.setResults(results); + LOG_ERROR <<"getFaceList : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; + return kj::READY_NOW; +} + +::kj::Promise<void> RtspFaceViewImpl::getFaceImages(GetFaceImagesContext context) +{ + auto results = context.getResults(); + remoteGetFaceListImage(context.getParams(), results); + context.setResults(results); + LOG_ERROR <<"getFaceImages : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; + return kj::READY_NOW; +} + +::kj::Promise<void> RtspFaceViewImpl::setFaceLabel(SetFaceLabelContext context) +{ + auto results = context.getResults(); + remoteSetFaceLabel(context.getParams(), results); + context.setResults(results); + LOG_ERROR <<"setFaceLabel : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; + return kj::READY_NOW; } -- Gitblit v1.8.0