以下为纯手打, 如有错误及欠妥的地方,欢迎指正。
1. 关于根据.proto自动生成代码网上有很多教程,这里略过
2. file.proto代码添加
syntax = "proto3";
option csharp_namespace = "GrpcProto";
package greet;
service GrpcService{
rpc FileDownLoad (FileInfo) returns (stream BytesContent);
rpc FileUpLoad (stream BytesContent) returns();
}
message FileInfo{
string fileName = 1;
}
message BytesContent{
string fileName = 1;
int32 Block = 2;
bytes content = 3;
}
3. 服务端方法
download
public class MethodUtil:GrpcService.GrpcServicBase
{
public override async Task FileDownLoad(FileInfo info, IServerStreamWriter<BytesContent> responseStream, ServerCallContext context){
if(File.Exist(info.fileName)){
FileStream fs = FileStream(info.fileName, FileMode.Opne, FileAccess.Read)
BinaryReader br = new BinaryReader(fs);
byte[] byteArray =