Browse Source

change src/driver/driver_cloud_grpc_pc. fix network problem.

yuchuli 4 years ago
parent
commit
1ce7f731a3
2 changed files with 16 additions and 1 deletions
  1. 15 0
      src/driver/driver_cloud_grpc_pc/grpcpc.cpp
  2. 1 1
      src/tool/RemoteCtrl/main.cpp

+ 15 - 0
src/driver/driver_cloud_grpc_pc/grpcpc.cpp

@@ -63,6 +63,11 @@ void grpcpc::run()
     // Container for the data we expect from the server.
     iv::queryReply reply;
 
+    gpr_timespec timespec;
+      timespec.tv_sec = 30;//设置阻塞时间为2秒
+      timespec.tv_nsec = 0;
+      timespec.clock_type = GPR_TIMESPAN;
+
 
     while(!QThread::isInterruptionRequested())
     {
@@ -109,6 +114,7 @@ void grpcpc::run()
             {
 
                 ClientContext context ;
+                context.set_deadline(timespec);
  //               qint64 time1 = QDateTime::currentMSecsSinceEpoch();
 
                 request.set_strquerymd5(gstrqueryMD5);
@@ -167,6 +173,7 @@ void grpcpc::run()
                 {
 
                     ClientContext context ;
+                    context.set_deadline(timespec);
 
                     qint64 time1 = QDateTime::currentMSecsSinceEpoch();
 
@@ -186,6 +193,14 @@ void grpcpc::run()
                       std::cout << status.error_code() << ": " << status.error_message()
                                 << std::endl;
                       std::cout<<"RPC failed"<<std::endl;
+                      if(status.error_code() == 4)
+                      {
+                          std::cout<<" RPC Exceed Time, Create New stub_"<<std::endl;
+                          channel = grpc::CreateCustomChannel(
+                                   target_str, grpc::InsecureChannelCredentials(),cargs);
+
+                          stub_ = iv::Upload::NewStub(channel);
+                      }
                       std::this_thread::sleep_for(std::chrono::milliseconds(900));
 
                     }

+ 1 - 1
src/tool/RemoteCtrl/main.cpp

@@ -61,7 +61,7 @@ int main(int argc, char *argv[])
 
     iv::xmlparam::Xmlparam xp("RemoteCtrl.xml");
     gstrmem_gpsimu = xp.GetParam("gpsimu","hcp2_gpsimu");
-    gstrmem_pic[0] = xp.GetParam("PicFront","image00");
+    gstrmem_pic[0] = xp.GetParam("PicFront","picfront");
     gstrmem_pic[1] = xp.GetParam("PicRear","picrear");
     gstrmem_pic[2] = xp.GetParam("PicLeft","picleft");
     gstrmem_pic[3] = xp.GetParam("PicRight","picright");