Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private bool TryStartGrpc()
        {
            try
            {
                // create settings.

                GrpcClientSettings settings = new GrpcClientSettings();

                settings.MarshallerFactory = GrpcMarshallerFactory.DefaultInstance;

                settings.PerformanceListener = new GrpcClientPerformanceListener();

                RegistPerformanceEventHandlers(settings.PerformanceListener);

                // create client.

                ChannelCredentials credential = ChannelCredentials.Insecure;

                m_Channel = new Channel(string.Format("{0}:{1}", m_Settings.ServerName, m_Settings.ServerPort), credential);

                GrpcCallInvoker invoker = GrpcCallInvoker.Create(m_Channel, settings);

                //TestMethodInterceptor interceptor = new TestMethodInterceptor();

                //m_Invoker.AddInvokingInterceptor(interceptor);
                //m_Invoker.AddInvokedInterceptor(interceptor);
                //m_Invoker.AddExceptionHandler(interceptor);

                m_Client = new PlayerSearch.PlayerSearchClient(invoker);

                m_HeartbeatContext = GrpcHeartbeat.CreateClientObject(m_Channel);

                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(false);
            }
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Server server = new Server();

            try
            {
                SampleServerSettings settings = SampleServerSettings.LoadFromFile("SampleServerSettings.config");

                //ServiceTimeFillterAttribute.DefaultOpenTime = null;
                //ServiceTimeFillterAttribute.DefaultCloseTime = null;

                // regist service.

                GrpcServiceBuilder builder = new GrpcServiceBuilder();

                GrpcServiceBuilderSettings builderSettings = new GrpcServiceBuilderSettings();

                builderSettings.MarshallerFactory = GrpcMarshallerFactory.DefaultInstance;

                builderSettings.PerformanceListener = new GrpcServerPerformanceListener();

                RegistPerformanceEventHandlers(builderSettings.PerformanceListener);

                server.Services.Add(builder.BuildService("PlayerSearch", typeof(PlayerSearch), new PlayerSearchServiceImpl(), builderSettings));


                // regist heartbeat.

                server.Services.Add(GrpcHeartbeat.BuildService());


                // start server.

                Grpc.Core.ServerCredentials credential = Grpc.Core.ServerCredentials.Insecure;

                server.Ports.Add(settings.ServerName, settings.ServerPort, credential);

                Console.WriteLine(string.Format("Starting... {0}:{1}", settings.ServerName, settings.ServerPort));
                server.Start();
                Console.WriteLine("Started.");

                Console.WriteLine("If you want to shutdown, please press any key.");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {
                Console.WriteLine("In shutdown...");
                try
                {
                    if (server != null)
                    {
                        server.ShutdownAsync().Wait();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
                Console.WriteLine("Shutdown completed.");
            }

            Console.WriteLine("If you want to close, please press any key.");
            Console.ReadLine();
        }