public override Task <InterfaceSerializeClass> GreetInterfaceSerializeClass(InterfaceSerializeClass dataClass) { return(Task.FromResult(new InterfaceSerializeClass() { Int = dataClass.Int + 1, })); }
private async Task <NetClient> WorkClient(bool isServiceUdp, int sendCount) { NetClient client = new NetClient(new ClientOption() { TcpServerAddress = "127.0.0.1", TcpServerPort = 9000, IsServiceUdp = isServiceUdp, UdpServerAddress = "127.0.0.1", UdpServerPort = 9001 }); client.AddRpcService(new GreeterService()); var rpc = new GreeterRpc(client); client.OnErrored += (e) => { }; client.OnClosed += () => { }; Task.Factory.StartNew(async() => { await Task.Delay(100); Stopwatch sw = Stopwatch.StartNew(); while (client.State != SessionState.Closed) { sw.Stop(); client.Update((int)sw.ElapsedMilliseconds); sw.Restart(); await Task.Delay(30); } }).DoNotAwait(); var connected = await client.ConnectAsync(null); Assert.True(connected); var result = await rpc.Greet("Greet server!"); Assert.AreEqual("Result greet! Greet server!", result); Console.WriteLine(result); result = await rpc.Greet("Greet server!"); Assert.AreEqual("Result greet! Greet server!", result); Console.WriteLine(result); var dataClass = new DataClass() { Int = 123, Property = 456, String = "789", IgnoreInt = 987, IgnoreProperty = 567, }; var resultClass = await rpc.GreetClass(dataClass); Assert.AreEqual(dataClass.Int + 1, resultClass.Int); Assert.AreEqual(dataClass.Property + 1, resultClass.Property); Assert.AreEqual(dataClass.String + "1", resultClass.String); Assert.AreNotEqual(dataClass.IgnoreInt, resultClass.IgnoreInt); Assert.AreNotEqual(dataClass.IgnoreProperty, resultClass.IgnoreProperty); var interfaceSerializeClass = new InterfaceSerializeClass() { Int = 123, }; var resultinterfaceSerializeClass = await rpc.GreetInterfaceSerializeClass(interfaceSerializeClass); Assert.AreEqual(interfaceSerializeClass.Int + 1, resultinterfaceSerializeClass.Int); rpc.WithNoReply().Greet("1234567890"); await Task.Delay(1000); return(client); }