如何解决gRPC-js + Angular ngx-grpc - Stream 在收到 4 条消息后停止接收消息
我有一个使用名为 getUsers() 的 rpc 方法的 grpc-js 服务器设置。从客户端拨打电话时,尽管发送了 6 条消息,但我只收到了 4 条消息。
这是客户端方法:
const client = new UsersClient(environment.rpcHost);
const params = new CMSQuery();
client.getUsers(params).on('data',(message: User) => {
const obj = message.toObject();
console.log(`${obj.name} received`);
this.users.push(obj);
}).on('end',() => {
console.log('End of request');
});
这里是服务器方法:
async getUsers(call: grpc.ServerWritableStream<CMSQuery,User>): Promise<any> {
const params = call.request.toObject();
this.collection.find({}).forEach(user => {
const message = protoFromObject(User,user);
call.write(message);
console.log(`${user.name} sent`);
}).finally(() => {
console.log('Closing request');
call.end();
});
}
服务器有以下控制台输出:
User1 sent
User2 sent
User3 sent
User4 sent
User5 sent
User6 sent
Closing Request
然而客户端只有以下控制台输出:
User1 received
User2 received
User3 received
User4 received
End of request
是否有任何明显的事情会导致这种情况?某种超时?任何人都可以给我一些关于我应该在哪里看的指示,因为我现在真的被困住了。
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。