Exemple #1
0
 public int ProcessFirstRpcRequest(FirstRpc rpc)
 {
     rpc.Result.Assign(rpc.Argument);
     rpc.SendResult();
     Console.WriteLine("ProcessFirstRpcRequest result.Int1=" + rpc.Result.Int1);
     return(Procedure.Success);
 }
Exemple #2
0
        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);
        }