Beispiel #1
0
        public static void Start(params string[] args)
        {
            //GRpc Http支持
            AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
            while (true)
            {
                var msg = Console.ReadLine();
                if (msg == "exit")
                {
                    break;
                }
                var channel = GrpcChannel.ForAddress("http://192.168.2.253:5003", new GrpcChannelOptions
                {
                    Credentials = ChannelCredentials.Insecure
                });
                var client = new Account.AccountClient(channel);
                var reply  = client.Login(new LoginRequest
                {
                    Account  = msg,
                    Password = RandomHelper.RandomNums(6),
                    Code     = RandomHelper.RandomLetters(4)
                });

                Console.WriteLine(JsonHelper.ToJson(reply));
            }
        }
Beispiel #2
0
        public void Setup()
        {
            var services = new MicroBuilder()
                           .AddMicroClient(builder =>
            {
                builder
                .AddJsonCodec()
                .AddMessagePackCodec()
                .AddProtoBufCodec()
                .AddHttpProtocol()
                .AddTcpProtocol()
                .AddWebSocketProtocol()
                .AddGrpcProtocol()
                .AddSession()
                .AddConsul("http://192.168.0.231:8500")
                //.AddNacos(opt =>
                //{
                //    opt.Host = "http://192.168.0.231:8848/";
                //    opt.Tenant = "ef950bae-865b-409b-9c3b-bc113cf7bf37";
                //})
                ;
            });

            _provider = services.BuildServiceProvider();
            var proxy = _provider.GetService <IProxyFactory>();

            //_contract = proxy.Create<ITestContract>();
            _client = proxy.Create <Account.AccountClient>();
        }
Beispiel #3
0
        public void WorkerThread()
        {
            using (var account = new Account.AccountClient())
            {
                account.RegisterServer(Config.Sid, "127.0.0.1", port, "Chaos", Account.ServerTypes.Character);
            }

            this.listener = new TcpListener(new IPEndPoint(System.Net.IPAddress.Any, port));
            this.listener.Start();
            do
            {
                while (this.listener.Pending() == false)
                {
                    if (ServerShutdown.WaitOne(10))
                    {
                        return;
                    }
                }
                PC pc = new PC()
                {
                    Socket = this.listener.AcceptSocket()
                };
                Thread th = new Thread(pc.Start);
                th.Start();
            } while (true);
        }
Beispiel #4
0
        public void Parse(Shared.PC sender, Packet packet)
        {
            using (var ms = new MemoryStream(packet.Data))
            {
                using (var br = new BinaryReader(ms))
                {
                    Aid              = br.ReadInt32();
                    Authcode         = br.ReadInt32();
                    UserLevel        = br.ReadInt32();
                    Clienttype       = br.ReadInt16();
                    Sex              = br.ReadByte();
                    ((PC)sender).Aid = Aid;
                }
            }

            Logging.Debug(string.Format("Ch_Enter {{\n\tAID: {0},\n\tAuthCode: {1},\n\tUserLevel: {2},\n\tClienttype: {3},\n\tSex: {4}\n}}", Aid, Authcode, UserLevel, Clienttype, Sex));
            Worker.Singleton.Clients.Add((PC)sender);

            var ipPoint = (IPEndPoint)sender.Socket.RemoteEndPoint;

            using (var account = new Account.AccountClient())
            {
                var ah_logon_exist = account.Ha_Logon(Aid, Authcode, Sex, Worker.Singleton.Clients.Count(), Config.Sid, Helper.IpToInt(ipPoint.Address));
                if (ah_logon_exist != null)
                {
                    sender.Id    = ah_logon_exist.Id;
                    sender.Email = ah_logon_exist.Email;
                    sender.PacketQueue.Enqueue(Hc_Aid.CreateBuilder().SetAid(Aid).Build());
                    sender.PacketQueue.Enqueue(Hc_Accept_Enter.CreateBuilder().SetAid(Aid).Build());
                    sender.PacketQueue.Enqueue(Hc_Block_Character.CreateBuilder().Build());
                    sender.PacketQueue.Enqueue(Hc_Second_Password_Login.CreateBuilder().SetAid(Aid).SetSeed(0).SetResult(0).Build());
                }
            }
        }
Beispiel #5
0
        static async Task Main(string[] args)
        {
            using var channel = GrpcChannel.ForAddress("https://localhost:5001");
            var client = new Account.AccountClient(channel);
            var reply  = await client.HealthProveAsync(new StringResponse { Message = "Ok" });

            Console.WriteLine("HealthProve gRPC.Account: " + reply.Message);

            var replyTwo = await client.GetAccountAsync(new AccountRequest { Cpf = "02161828088" });

            Console.WriteLine("GetAccount gRPC.Account: " + JsonSerializer.Serialize(replyTwo));

            var clientPeople = new People.PeopleClient(channel);
            var replyPeople  = await clientPeople.HealthProveAsync(new StringDto { Message = "Ok" });

            Console.WriteLine("HealthProve gRPC.People: " + replyPeople.Message);

            var replyPeopleTwo = await clientPeople.GetPeopleAsync(new PeopleRequest { Cpf = "02161828088" });

            Console.WriteLine("GetPeople gRPC.People: " + JsonSerializer.Serialize(replyPeopleTwo));

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
 public gRPCAccountClient(Account.AccountClient client)
 {
     _client = client;
 }
Beispiel #7
0
 public AccountClientImpl(GrpcChannel grpcChannel, Account.AccountClient accountClient)
 {
     _grpcChannel   = grpcChannel;
     _accountClient = accountClient;
 }