问题描述
我有一个使用名为 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 (将#修改为@)