Exemplo n.º 1
0
        public void Run()
        {
            this.transport = new SocketServerTransport(3100);

            while (!this.stop)
            {
                try
                {
                    var channel = this.transport.Listen();
                    var service = new PingPongService(channel);
                    var thread  = new Thread(service.Run);
                    thread.Start();
                    this.services.Add(new Tuple <PingPongService, Thread>(service, thread));
                }
                catch (SocketException)
                {
                }
                catch (TimeoutException)
                {
                }

                this.services.RemoveAll(o => !o.Item1.IsRunning);
            }

            foreach (var pingPongService in this.services)
            {
                pingPongService.Item1.Stop();
                pingPongService.Item2.Join(1000);
            }
        }
Exemplo n.º 2
0
        private static void ServerThread()
        {
            var transport = new SocketServerTransport(4242);
            var server    = new RpcServer(transport);

            Program.serverInstance = server;
            var service = new SettingsService(server.EventSource);

            server.RegisterService(service);
            server.Run();
            service.Dispose();
        }