Esempio n. 1
0
        public v1_0ServerContext(RemoterServer parent, ObservablePacketProtocol protocol)
        {
            _parent = parent;
            _client = protocol.Client;
            _protocol = protocol;
            _events = new ListKvp<string, EventPropegator>();
            _sessions = new List<string>();
            _cancelSource = new CancellationTokenSource();

            _observable = protocol.Buffer
                // .ObserveOn(ThreadPoolScheduler.Instance)
                .Subscribe(Buffer_OnNext, Buffer_OnError, Buffer_OnComplete);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            RemoterServer server = new RemoterServer(7750);
            server.PropagateExceptions = true;
            server.AddService<IRemoterTest, RemoterTest>("/path");
            server.Start();

            RemoterFactory factory = new RemoterFactory("tcp://localhost:7750");
            factory.Open();
            IRemoterTest proxy = factory.OpenServicePath<IRemoterTest>("/path");

            int addRes = proxy.Add(15, 10); // should be 25

            string outRes;
            proxy.OutTest(out outRes);

            string refRes = " it worked ";
            string refReturn = proxy.RefTest("ha", ref refRes, "return value");


            IRemoterValueTest valueTest = proxy.GetInterface("You got it back.");
            var valTestRes = valueTest.Get();
            (valueTest as IExtendedProxy<IRemoterValueTest>).Dispose();

            Stream streamTest = proxy.GetRandomStream(100);
            streamTest.ReadByte();
            streamTest.ReadByte();

            long streamPos = streamTest.Position;

            try
            {
                var reverseRes = proxy.Reverse("hello");
            }
            catch { }

            server.Stop();
            try
            {
                long streamPos2 = streamTest.Position;
            }
            catch (Exception ex)
            {
                Console.WriteLine();
            }
            Console.Read();
        }