当前位置: 首页>>代码示例>>C#>>正文


C# IServiceClient.Connect方法代码示例

本文整理汇总了C#中IServiceClient.Connect方法的典型用法代码示例。如果您正苦于以下问题:C# IServiceClient.Connect方法的具体用法?C# IServiceClient.Connect怎么用?C# IServiceClient.Connect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IServiceClient的用法示例。


在下文中一共展示了IServiceClient.Connect方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

        public static void Main(string[] args)
        {
            var serverConfiguration = Factory.Create<Provider>("conf/client.xml");
            var dynamicConfig = serverConfiguration.FirstAsExpando().configuration;

            string address = string.Format("tcp://{0}:{1}", dynamicConfig.zeus.host, dynamicConfig.zeus.port);
            var endPoint = ProtocolEndPointBase.CreateEndPoint(address);

            _service = ServiceClientBuilder.CreateClient<IClientService>(endPoint);
            _service.Connected += (o, a) => Console.WriteLine("Connection to auth-server successfull!");
            _service.Disconnected += (o, a) => Console.WriteLine("Connection to inter-server lost.");
            _service.ConnectTimeout = 30;
            _service.Connect();

            do {

                var cmd = Console.ReadLine();
                if (cmd == "exit") {
                    _service.Disconnect();
                }
                if (cmd == "login") {
                    var account = _service.ServiceProxy.ClientLogin("test", "test");
                    Console.WriteLine("Got account info: {0}", account);
                }
                if (cmd == "servers") {
                    var servers = _service.ServiceProxy.GetServerDescriptions();
                    Console.WriteLine("Got server info:");
                    servers.ToList().ForEach(s => Console.WriteLine("\t{0}", s));
                }

            } while (_service.CommunicationState == CommunicationStates.Connected);

            Console.WriteLine("Press any key to exit.");
            Console.Read();
        }
开发者ID:GodLesZ,项目名称:ZeusEngine,代码行数:35,代码来源:Program.cs

示例2: Main

        public static void Main(string[] args)
        {
            var endPoint = ProtocolEndPointBase.CreateEndPoint("tcp://127.0.0.1:6900");

            _client = new TestClientImplementation();
            _serviceClient = ServiceClientBuilder.CreateClient<ITestServerService>(endPoint, _client);
            _serviceClient.Connected += ClientOnConnected;
            _serviceClient.Disconnected += ClientOnDisconnected;
            _serviceClient.Connect();

            do {
                var cmd = Console.ReadLine();
                if (cmd == "exit") {
                    _serviceClient.Disconnect();
                }
                if (cmd == "void") {
                    _serviceClient.ServiceProxy.RemoteVoid();
                }
                if (cmd == "magic") {
                    var poco = new SimplePoco {Id = 1, Title = "My POCO obj"};
                    _serviceClient.ServiceProxy.SomeRemoteMagic(poco);
                }
                if (cmd == "ex") {
                    _serviceClient.ServiceProxy.RaiseTheException();
                }
            } while (_serviceClient.CommunicationState == CommunicationStates.Connected);

            Console.WriteLine("Press any key to exit.");
            Console.Read();
        }
开发者ID:GodLesZ,项目名称:ZeusEngine,代码行数:30,代码来源:Program.cs

示例3: Main

        public static void Main(string[] args)
        {
            // Try access a config
            var serverConfiguration = Factory.Create<Provider>("conf/server.xml");
            var dynamicConfig = serverConfiguration.FirstAsExpando().configuration;

            // Prepare console for a large output
            #if WINDOWS
            var width = Math.Min(100, Console.LargestWindowWidth - 2);
            Console.CursorVisible = false;
            Console.Clear();
            Console.WindowLeft = Console.WindowTop = 0;
            if (Console.WindowWidth < width) {
                Console.WindowWidth = width;
            }
            #endif

            var ver = Assembly.GetExecutingAssembly().GetName().Version;
            Console.Title = string.Format("Zeus auth-server v{0}.{1}", ver.Major, ver.Minor);

            ServerConsole.StatusLine(Console.Title);

            // Create inter-server listener service
            string interServerEndPointAddress = string.Format("tcp://{0}:{1}", dynamicConfig.network.inter_server.host, dynamicConfig.network.inter_server.port);
            var interServerEndPoint = ProtocolEndPointBase.CreateEndPoint(interServerEndPointAddress);

            ServerConsole.Info("Start connecting to inter-server..");
            // @TODO: Is any action coming from inter-server to auth-server?
            // @TODO: Create inter -> auth service (character goes back to char select)
            _interClient = ServiceClientBuilder.CreateClient<IAuthService>(interServerEndPoint, new ServerServiceImplementation());
            _interClient.Connected += (o, a) => {
                ServerConsole.WriteLine(ServerConsoleColor.Status, " successfull!");
                // AuthServerLogin
                _interClient.ServiceProxy.AuthServerLogin((string)dynamicConfig.network.inter_server.password);
            };
            _interClient.Disconnected += delegate {
                ServerConsole.ErrorLine("Connection to inter-server lost.");
                // @TODO: Reconnect?
            };
            _interClient.ConnectTimeout = 30;
            _interClient.Connect();

            // Create a client listener service
            string endPointAddress = string.Format("tcp://{0}:{1}", dynamicConfig.network.host, dynamicConfig.network.port);
            _clientService = ServiceBuilder.CreateService(ProtocolEndPointBase.CreateEndPoint(endPointAddress));
            _clientService.ClientConnected += (sender, clientEventArgs) => ServerConsole.DebugLine("Client connected #{0}", clientEventArgs.Client.ClientId);
            _clientService.ClientDisconnected += (sender, clientEventArgs) => ServerConsole.DebugLine("Client disconnected #{0}", clientEventArgs.Client.ClientId);
            // Add interface for client connections
            var clientService = new ClientServiceImplementation(_interClient.ServiceProxy);
            _clientService.AddService<IClientService, ClientServiceImplementation>(clientService);
            // Start listener service
            _clientService.Start();

            ServerConsole.StatusLine("Auth-server is listening to: {0}", endPointAddress);

            do {

                var cmd = Console.ReadLine();
                if (cmd == "exit") {
                    _clientService.Stop();
                }

            } while (_clientService.Connected);

            ServerConsole.WarningLine("Press any key to exit.");
            Console.Read();
        }
开发者ID:GodLesZ,项目名称:ZeusEngine,代码行数:67,代码来源:CoreService.cs


注:本文中的IServiceClient.Connect方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。