예제 #1
0
파일: Program.cs 프로젝트: lanicon/NetX
        static async Task Main(string[] args)
        {
            var client = new NetxSClientBuilder()
                         .ConfigConnection(p => //配置服务器IP
            {
                p.Host          = "192.168.1.235";
                p.Port          = 6666;
                p.VerifyKey     = "123123";
                p.MaxPackerSize = 256 * 1024;
            })
                         //设置SESSION 的存储方式,SESSION 用来记录你的TOKEN,方便断线重连不会丢失工作进度,我们存储在内存,也可以保存成文件
                         // .ConfigSessionStore(() => new Netx.Client.Session.SessionMemory())
                         .ConfigSessionStore(() => new Netx.Client.Session.SessionFile())
                         .Build();

            client.LoadInstance(new ClientTestController()); //加载客户端控制器供服务区主动调用,

            client.Open();                                   //你可以先连接服务器,或者不连接,如果你没有OPEN 那么调用的时候

            var server = client.Get <IServer>();             //根据接口返回 服务器调用的实例
            await server.Print(5);

            await server.RunTest("joy");

            var x = await server.ToClientAddOne(1);

            Console.WriteLine("x:{0}", x);
            await server.Print2(6, "my name is");

            var stop = System.Diagnostics.Stopwatch.StartNew();

            for (int i = 0; i < 100000; i++)
            {
                await server.Add(1, i);
            }

            var r = await server.RecursiveTest(10000);

            Console.WriteLine($"{r} {stop.ElapsedMilliseconds}");

            var res = new LogOn
            {
                Username = "******",
                Password = "******"
            };

            var(success, msg) = await server.LogOn(res);

            Console.WriteLine($"{success} {msg}");

            var res2 = await server.LogOn2(("username", "password"));

            Console.WriteLine($"{res2.Success} {res2.Msg}");

            Console.ReadLine();
        }
예제 #2
0
파일: Program.cs 프로젝트: luyikk/NetX
        static async Task Main(string[] args)
        {
            var client = new NetxSClientBuilder()
                         .ConfigConnection(p => //配置服务器IP
            {
                p.Host          = "127.0.0.1";
                p.Port          = 6666;
                p.VerifyKey     = "123123";
                p.MaxPackerSize = 256 * 1024;
            })
                         .ConfigSSL(p =>
            {
                p.IsUse       = false;
                p.Certificate = null;
            })
                         //设置SESSION 的存储方式,SESSION 用来记录你的TOKEN,方便断线重连不会丢失工作进度,我们存储在内存,也可以保存成文件
                         // .ConfigSessionStore(() => new Netx.Client.Session.SessionMemory())
                         .ConfigSessionStore(() => new Netx.Client.Session.SessionFile())
                         .Build();

            client.LoadInstance(new ClientTestController()); //加载客户端控制器供服务区主动调用,

            client.Open();                                   //你可以先连接服务器,或者不连接,如果你没有OPEN 那么调用的时候

            var server = client.Get <IServer>();             //根据接口返回 服务器调用的实例
                                                             // await server.Print(5);



            // 测试基本类型
            {
                (bool, sbyte, byte, short, ushort, int, uint)v = (true, 2, 3, 4, 5, 6, 7);
                var t = await server.test_base_type(v);

                if (t != v)
                {
                    throw new Exception("base test error");
                }


                (long, ulong, float, double)v1 = (8, 9, 1.1f, 2.2222);
                var t1 = await server.test_base_type(v1);

                if (t1 != v1)
                {
                    throw new Exception("base test error");
                }
            }
            // 测字符串
            {
                (string, string, string)v = ("test", "test", null);
                var t = await server.test_string(v);

                if (t != v)
                {
                    throw new Exception("base test error");
                }
            }
            //测试buff
            {
                (List <byte>, List <byte>, List <byte>)v = (new List <byte> {
                    1, 2, 3
                }, new List <byte> {
                    1, 2, 3
                }, null);
                var t = await server.test_buff(v);

                if (t.Item1.Count != 3 || t.Item2.Count != 3 || t.Item3 != null)
                {
                    throw new Exception("base test error");
                }
            }
            // 测试对象
            {
                var v = new Foo();
                var t = await server.test_struct(v);

                if (!t.Equals(v))
                {
                    throw new Exception("base test error");
                }
            }

            await server.RunTest(null);

            await server.RunTest("joy");

            //var x = await server.ToClientAddOne(1);
            //Console.WriteLine("x:{0}",x);
            await server.Print2(6, "my name is");

            var stop = System.Diagnostics.Stopwatch.StartNew();

            for (int i = 0; i < 100000; i++)
            {
                await server.Add(1, i);
            }

            var r = await server.RecursiveTest(10000);

            Console.WriteLine($"{r} {stop.ElapsedMilliseconds}");

            var res = new LogOn
            {
                Username = "******",
                Password = "******"
            };

            var(success, msg) = await server.LogOn(res);

            Console.WriteLine($"{success} {msg}");

            var res2 = await server.LogOn2(("username", "password"));

            Console.WriteLine($"{res2.Success} {res2.Msg}");

            Console.ReadLine();
        }