0
當GRPC調用「embeddedassistant.googleapis.com」時,服務器不迴應。當我檢查Google API網絡界面時,我看到在google服務器端收到的請求。 我設置了正確的配置請求(當我設置錯誤的配置,我得到服務器的錯誤信息)。有什麼我在這裏失蹤?谷歌助理gRPC呼叫掛起
std::string Converse(const std::string& user) {
AudioInConfig audio_in_config;
audio_in_config.set_encoding(google::assistant::embedded::v1alpha1::AudioInConfig_Encoding_FLAC);
audio_in_config.set_sample_rate_hertz(16000);
AudioOutConfig audio_out_config;
audio_out_config.set_encoding(google::assistant::embedded::v1alpha1::AudioOutConfig_Encoding_MP3);
audio_out_config.set_sample_rate_hertz(16000);
audio_out_config.set_volume_percentage(50);
ConverseState converse_state;
const char * conversation_state = "a";
converse_state.set_conversation_state(conversation_state);
ConverseConfig config;
config.set_allocated_audio_in_config(&audio_in_config);
config.set_allocated_audio_out_config(&audio_out_config);
config.set_allocated_converse_state(&converse_state);
ConverseRequest request;
request.set_allocated_config(&config);
ConverseResponse reply;
ClientContext context;
auto status = stub_->Converse(&context, request, &reply);
config.release_audio_in_config();
config.release_audio_out_config();
config.release_converse_state();
request.release_config();
// Act upon its status.
if (status.ok()) {
return reply.result().conversation_state();
} else {
std::cout << "Error: " << status.error_code() << ": " << status.error_message()
<< std::endl;
return "RPC failed";
}
return "";
}
你有沒有看看這個雙向流GRPC例如:https://github.com/grpc/grpc/blob/v1.3.2/ examples/cpp/route_guide/route_guide_client.cc#L169,它適用於不同的API,但它可以幫助您找出控制流。 – proppy