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); }
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(); }