12345678910111213141516171819202122232425262728293031323334 |
- #include "GrpcTransfer.h"
- void MessageServiceClient::R360SendMessage(DataPackagePtr pkg)
- {
- ClientContext context;
- Empty response;
- std::unique_ptr<grpc::ClientWriter<DataList>> writer(
- stub_->R360SendMessage(&context, &response));
- DataList dataList;
- EmbeddedData *embeddedData = dataList.add_data();
- embeddedData->set_usb_camera_index(pkg->nCameraID);
- // 填充图片数据(示例中使用字符串模拟)
- std::string tempImageData(pkg->pJpegData, pkg->nJpegSize);
- embeddedData->set_image(tempImageData);
- embeddedData->set_degree(pkg->dDegree);
- for (int i = 0; i < pkg->Result.count; ++i)
- {
- // 添加报警信息
- Alarm *alarm = embeddedData->add_alarm();
- alarm->set_x(pkg->Result.results[i].box.left);
- alarm->set_y(pkg->Result.results[i].box.top);
- alarm->set_w(pkg->Result.results[i].box.right - pkg->Result.results[i].box.left);
- alarm->set_h(pkg->Result.results[i].box.bottom - pkg->Result.results[i].box.top);
- alarm->set_score(pkg->Result.results[i].prop);
- alarm->set_type(R360::AlarmType(pkg->Result.results[i].cls_id)); // 使用枚举值
- }
- if (!writer->Write(dataList))
- {
- std::cerr << "写入消息失败" << std::endl;
- }
- }
|