как использовать метод future, но клиент Dart grp c не предоставит неизвестный сервис после вызова методов будущего - PullRequest
1 голос
/ 14 апреля 2020

У меня проблема с запуском этой службы в моем клиенте, но когда я console.log перед запросом, все было в порядке

вот код:

import 'package:grpc/grpc.dart';
import 'package:rpc/src/generated/blog.pb.dart';
import 'package:rpc/src/generated/blog.pbgrpc.dart';

Future<void> main() async  {
  final channel = ClientChannel(
    'localhost',
    port: 50051,
    options: const ChannelOptions(credentials: ChannelCredentials.insecure()),
  );

  var stub = BlogServiceClient(channel);
  // final name = args.isNotEmpty ? args[0] : 'world';

  try {
    var bg = Blog();
    bg.authorId  = "name";
    bg.title = "LOL";
    bg.content = "Content here";
    var data = CreateBlogRequest();
    data.blog = bg;
    print(data);
     await stub.createBlog(data);
//    print(gotIt.);
  } catch (er) {
    print('something error yeahh ===> $er');
  }

  await channel.shutdown();
}

blog.proto: :

syntax = "proto3";

package blog;
//option go_package="blogpb";

message Blog {
    string id = 1;
    string author_id = 2;
    string title = 3;
    string content = 4;
}

message CreateBlogRequest {
    Blog blog = 1;
}

message CreateBlogResponse {
    Blog blog = 1;
}

message ReadBlogRequest {
    string blog_id = 1;
}

message ReadBlogResponse {
    Blog blog = 1;
}

message UpdateBlogRequest {
    Blog blog = 1;
}

message UpdateBlogResponse {
    Blog blog = 1;
}

service BlogService {
    rpc CreateBlog (CreateBlogRequest) returns (CreateBlogResponse);
    rpc ReadBlog (ReadBlogRequest) returns (ReadBlogResponse);
    rpc UpdateBlog (UpdateBlogRequest) returns (UpdateBlogResponse);
}

я получил gRPC Error (12, unknown service blog.BlogService) Я думаю, что я уже изменил параметры порта и команды, но все еще не работает и тот же результат

то, что я ожидаю, я создаю блог с этим сервисом createBlog

я запускаю сервер на Go

Мне действительно нужно знать, что плохо, я думаю, что разработчик дротиков не слишком много, потому что это мне трудно чтобы найти информацию об этом в inte rnet там, так что я пришел сюда, чтобы спросить, и надеюсь, что команда grp c Dart поможет некоторым разработчикам по некоторым вопросам, которые я видел в выпуске GitHub на grp c - дротик, не многие команды отвечают на некоторые вопросы по grp c -dart

1 Ответ

0 голосов
/ 16 апреля 2020

я дал неправильно package name в .proto файле

это не было похоже на service BlogService {}

имя моего пакета было названо package something, после того как я изменил tp package blog это было хорошо работать

...