My grpc server is in go (go-micro), and it working fine, I have tested both via micro web
and go web app (iris).
This is a local grpc setup
I keep getting this error (Stream removed
)
{ Error: 2 UNKNOWN: Stream removed
at new createStatusError ([projectROOT]/node_modules/grpc/src/client.js:64:15)
at [projectROOT]/node_modules/grpc/src/client.js:583:15
code: 2,
metadata: Metadata { _internal_repr: {} },
details: 'Stream removed' }
and sometimes I get this error (Trying to connect an http1.x server
)
{ Error: 14 UNAVAILABLE: Trying to connect an http1.x server
at new createStatusError ([projectROOT]/node_modules/grpc/src/client.js:64:15)
at [projectROOT]/node_modules/grpc/src/client.js:583:15
code: 14,
metadata: Metadata { _internal_repr: {} },
details: 'Trying to connect an http1.x server' }
const grpc = require('grpc');
const AuthPB = require('./auth_pb');
const AuthService = require('./auth_grpc_pb');
const AuthClient = new AuthService.AuthClient(
`localhost:59685`,
grpc.credentials.createInsecure()
);
function run(cb) {
const AuthTokenRequest = new AuthPB.AuthTokenRequest({
token: `some token`,
});
AuthClient.isLoggedIn(AuthTokenRequest, (err, authRes) => {
if(!err) return cb({status: 1});
cb({
status: 0,
err,
message: 'Not loggedin',
});
});
}
run(console.log);
Traceback (most recent call last):
File "app.py", line 15, in <module>
run()
File "app.py", line 11, in run
res = AuthStub.IsLoggedIn(atReq)
File "[python3.6-path]/site-packages/grpc/_channel.py", line 484, in __call__
return _end_unary_response_blocking(state, call, False, deadline)
File "[python3.6-path]/site-packages/grpc/_channel.py", line 434, in _end_unary_response_blocking
raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.UNAVAILABLE, Trying to connect an http1.x server)>
.
Traceback (most recent call last):
File "app.py", line 15, in <module>
run()
File "app.py", line 11, in run
res = AuthStub.IsLoggedIn(atReq)
File "[python3.6-path]/site-packages/grpc/_channel.py", line 484, in __call__
return _end_unary_response_blocking(state, call, False, deadline)
File "[python3.6-path]/site-packages/grpc/_channel.py", line 434, in _end_unary_response_blocking
raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.UNKNOWN, Stream removed)>
import grpc
import auth_pb2
import auth_pb2_grpc
def run():
channel = grpc.insecure_channel('localhost:59685')
AuthStub = auth_pb2_grpc.AuthStub(channel)
atReq = auth_pb2.AuthTokenRequest(token='some token')
res = AuthStub.IsLoggedIn(atReq)
print("IsLoggedin: " + res.status)
if __name__ == "__main__":
run()
gRPC is an open-source remote procedure call(RPC) framework created by Google. It is an inter-process communication technology based on HTTP/2, that is used for client-server and duplex streaming of data, and this data streaming is highly efficient because of the use of protocol buffers.
gRPC is an HTTP/2-based Remote Procedure Call (RPC) framework that uses protocol buffers ( protobuf ) as the underlying data serialization framework. It is an alternative to other language-neutral RPC frameworks such as Apache Thrift and Apache Arvo.
I had same error message when client tried create insecure connection but server use ssl
Try to replace
grpc.credentials.createInsecure()
on
grpc.credentials.createSsl()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With