草庐IT

RPC和GRPC

全部标签

git推送出现“error: RPC failed; HTTP 408 curl 22 The requested URL returned error: 408”解决方案

在使用git推送时报错:error:RPCfailed;HTTP408curl22TherequestedURLreturnederror:408send-pack:unexpecteddisconnectwhilereadingsidebandpacketWritingobjects:100%(386/386),1.11GiB|1.84MiB/s,done.Total386(delta138),reused0(delta0),pack-reused0fatal:theremoteendhungupunexpectedly应该是文件太大的原因(7.84G)使用了:1.修改混存区大小;2.修改c

go - 使用 gRPC : how to get the size of the client-side buffer? 的无缓冲双向数据流

我正在将数据从服务器流式传输到客户端,我希望服务器读取和发送的数据不要超过客户端的缓冲区大小。给定:serviceStreamService{rpcStream(streamBuffer)returns(streamBuffer);}messageBuffer{bytesdata=1;}我客户的程序基本上是这样的:funcReadFromServer(streamStreamService_StreamClient,buf[]byte)(nint,errerror){//Iactuallydon'tneedmorethanlen(buf)...//HowcouldIsendlen(bu

go - 使用 gRPC : how to get the size of the client-side buffer? 的无缓冲双向数据流

我正在将数据从服务器流式传输到客户端,我希望服务器读取和发送的数据不要超过客户端的缓冲区大小。给定:serviceStreamService{rpcStream(streamBuffer)returns(streamBuffer);}messageBuffer{bytesdata=1;}我客户的程序基本上是这样的:funcReadFromServer(streamStreamService_StreamClient,buf[]byte)(nint,errerror){//Iactuallydon'tneedmorethanlen(buf)...//HowcouldIsendlen(bu

testing - 如何测试 gRPC API?

我被指派去测试一个gRPCAPI(用Golang编写),但我不知道如何测试它,而且我在网上找不到任何此类测试的教程。我能想到的唯一方法是编写单元测试来测试方法本身,但我也想用客户端来测试它。例如,我过去曾使用JMeter作为客户端来测试RESTAPI,以发送请求并验证响应数据。是否有使用客户端测试gRPCAPI的方法,或者单元测试是唯一的方法吗? 最佳答案 好吧,我正在寻找像Postman这样的客户,然后我找到了bloomrpc,这有助于调用grpc服务。但我不确定它是否符合您的目的,如果您正在寻找像jmeter这样的工具。

testing - 如何测试 gRPC API?

我被指派去测试一个gRPCAPI(用Golang编写),但我不知道如何测试它,而且我在网上找不到任何此类测试的教程。我能想到的唯一方法是编写单元测试来测试方法本身,但我也想用客户端来测试它。例如,我过去曾使用JMeter作为客户端来测试RESTAPI,以发送请求并验证响应数据。是否有使用客户端测试gRPCAPI的方法,或者单元测试是唯一的方法吗? 最佳答案 好吧,我正在寻找像Postman这样的客户,然后我找到了bloomrpc,这有助于调用grpc服务。但我不确定它是否符合您的目的,如果您正在寻找像jmeter这样的工具。

go grpc 服务器不知道客户端不优雅死了

我正在使用go-grpc创建双向流。当我拔下电缆时,服务器在很长一段时间内都不知道客户端已死。在这种情况下,我如何检测到客户端已消失??? 最佳答案 我遇到了和你一样的问题。在我的例子中,当我使用Ctrl-C终止我的测试客户端时,服务器很快检测到它,但是当我使用Ctrl-Z(或者如果我切断微Controller的电源)时,服务器将永远关闭挂连接。您需要使用某种心跳来检查连接,例如使用gRPC的keepAlive功能。由于在Envoy(https://github.com/envoyproxy/envoy/issues/2086)后面

go grpc 服务器不知道客户端不优雅死了

我正在使用go-grpc创建双向流。当我拔下电缆时,服务器在很长一段时间内都不知道客户端已死。在这种情况下,我如何检测到客户端已消失??? 最佳答案 我遇到了和你一样的问题。在我的例子中,当我使用Ctrl-C终止我的测试客户端时,服务器很快检测到它,但是当我使用Ctrl-Z(或者如果我切断微Controller的电源)时,服务器将永远关闭挂连接。您需要使用某种心跳来检查连接,例如使用gRPC的keepAlive功能。由于在Envoy(https://github.com/envoyproxy/envoy/issues/2086)后面

types - golang 中的 json-rpc,id 为字符串

我是新手。我用这个包https://github.com/kdar/httprpc执行我的json-rpcv1.0请求(因为golang仅实现2.0)我有一个问题,我正在调用的这个服务器将“id”作为字符串返回,例如"id":"345"代替"id":345我找到的唯一方法是使用字符串而不是uint64重新定义clientResponsetypeclientResponsestruct{Result*json.RawMessage`json:"result"`Errorinterface{}`json:"error"`Idstring`json:"id"`}并重新定义完全相同的Decod

types - golang 中的 json-rpc,id 为字符串

我是新手。我用这个包https://github.com/kdar/httprpc执行我的json-rpcv1.0请求(因为golang仅实现2.0)我有一个问题,我正在调用的这个服务器将“id”作为字符串返回,例如"id":"345"代替"id":345我找到的唯一方法是使用字符串而不是uint64重新定义clientResponsetypeclientResponsestruct{Result*json.RawMessage`json:"result"`Errorinterface{}`json:"error"`Idstring`json:"id"`}并重新定义完全相同的Decod

php - Go & PHP json-rpc通信

我尝试在php和go之间通信JSON-RPC。此示例中的服务器GOhttps://golang.org/pkg/net/rpc/packagemainimport("errors""net/rpc""net""log""net/http")typeArgsstruct{A,Bint}typeQuotientstruct{Quo,Remint}typeArithintfunc(t*Arith)Multiply(args*Args,reply*int)error{*reply=args.A*args.Breturnnil}func(t*Arith)Divide(args*Args,quo*