public int ProcessFirstRpcRequest(FirstRpc rpc) { rpc.Result.Assign(rpc.Argument); rpc.SendResult(); Console.WriteLine("ProcessFirstRpcRequest result.Int1=" + rpc.Result.Int1); return(Procedure.Success); }
public void TestRpcSimple() { Service server = new Service("TestRpc.Server"); FirstRpc forid = new FirstRpc(); server.AddFactoryHandle(forid.TypeId, new Service.ProtocolFactoryHandle() { Factory = () => new FirstRpc(), Handle = Service.MakeHandle <FirstRpc>(this, GetType().GetMethod(nameof(ProcessFirstRpcRequest))), }); AsyncSocket servetrSocket = server.NewServerSocket(IPAddress.Any, 5000); Client client = new Client(this); client.AddFactoryHandle(forid.TypeId, new Service.ProtocolFactoryHandle() { Factory = () => new FirstRpc(), }); AsyncSocket clientSocket = client.NewClientSocket("127.0.0.1", 5000); connected.WaitOne(); FirstRpc first = new FirstRpc(); first.Argument.Int1 = 1234; //Console.WriteLine("SendFirstRpcRequest"); first.SendForWait(clientSocket).Task.Wait(); //Console.WriteLine("FirstRpc Wait End"); Assert.AreEqual(first.Argument.Int1, first.Result.Int1); }