static void Main() { VRpcListener listener = new VRpcListener(IPAddress.Any, 1234); listener.Start(); Thread.Sleep(-1); }
public void TestNotification() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, true); var iface = cli.GetProxy <IServerTestController>(); iface.Notify(123); }
public async Task TestNotificationAsync() { const int port = 1008; using var listener = new VRpcListener(IPAddress.Any, port); listener.Start(); using var cli = new VRpcClient("127.0.0.1", port, false, true); var iface = cli.GetProxy <IServerTestController>(); await iface.NotifyAsync(123); }
public void TestSumResult() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, true); var iface = cli.GetProxy <IServerTestController>(); int sum = iface.GetSum(1, 2); Assert.Equal(3, sum); }
public void TestAsyncCallback() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, true); var iface = cli.GetProxy <IServerTestController>(); string selfEcho = iface.MakeAsyncCallback("qwerty"); Assert.Equal("qwerty", selfEcho); }
public async Task TestNullStringAsync() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, true); var iface = cli.GetProxy <IServerTestController>(); string value = await iface.GetNullStringAsync(); Assert.Null(value); }
public void TestStringResult() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, true); var iface = cli.GetProxy <IServerTestController>(); string value = iface.GetString(); Assert.Equal("OK", value); }
public async Task TestSumAsync() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, true); var iface = cli.GetProxy <IServerTestController>(); int sum = await iface.GetSumAsync(1, 2); Assert.AreEqual(3, sum); }
public void TestNullStringResult() { const int port = 1005; using var listener = new VRpcListener(IPAddress.Any, port); listener.Start(); using var cli = new VRpcClient("127.0.0.1", port, false, true); var iface = cli.GetProxy <IServerTestController>(); string value = iface.GetNullString(); Assert.Null(value); }
public void TestSumValueTask() { const int port = 1003; using var listener = new VRpcListener(IPAddress.Any, port); listener.Start(); using var cli = new VRpcClient("127.0.0.1", port, false, true); var iface = cli.GetProxy <IServerTestController>(); int sum = iface.GetSum2(1, 2); Assert.Equal(3, sum); }
public async Task TestAsyncVoid() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, false); var iface = cli.GetProxy <IServerTestController>(); cli.Connect(); var sw = Stopwatch.StartNew(); await iface.Test2Async(); Assert.True(sw.ElapsedMilliseconds >= 500); }
public void TestNotificationCallback() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, true); var mre = new ManualResetEventSlim(false); cli.ConfigureService(x => x.AddSingleton(mre)); var iface = cli.GetProxy <IServerTestController>(); iface.NotifyCallback(123); Assert.True(mre.Wait(30_000)); }
public void TestMethodNotFound() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, true); var iface = cli.GetProxy <IServerTestController>(); try { iface.NotFoundMethod(); Assert.True(false); } catch (VRpcException ex) { } }
public void TestVoid() { const int port = 1000; using var listener = new VRpcListener(IPAddress.Any, port); listener.Start(); using var cli = new VRpcClient("127.0.0.1", port, false, false); var iface = cli.GetProxy <IServerTestController>(); cli.Connect(); var sw = Stopwatch.StartNew(); iface.TestDelay(); Assert.True(sw.ElapsedMilliseconds >= 500); }
public void TestException() { using var listener = new VRpcListener(IPAddress.Any); listener.Start(); using var cli = new VRpcClient("127.0.0.1", listener.Port, false, true); var iface = cli.GetProxy <IServerTestController>(); try { iface.TestException("проверка"); } catch (VRpcBadRequestException ex) { Assert.Equal("проверка", ex.Message); } }
static void Main() { VRpcListener listener = new VRpcListener(IPAddress.Any, 1234); listener.Start(); int count = GetConnectionsCount(); _clients = new VRpcClient[count]; ThreadPool.QueueUserWorkItem(async delegate { for (int i = 0; i < count; i++) { _clients[i] = CreateClient(); ThreadPool.UnsafeQueueUserWorkItem(s => ThreadEntry(s), i); } while (true) { await Task.Delay(200); var cli = _clients[new Random().Next(_clients.Length)]; if (cli.State == VRpcState.Open) { var result = cli.Shutdown(TimeSpan.Zero, "Провоцируем обрыв"); cli.Dispose(); } //cli.Dispose(); } }); Console.Write("Connections Count: "); var pos = Console.CursorLeft; while (true) { Console.CursorLeft = pos; string sCount = Volatile.Read(ref _connectionsCount).ToString(); Console.Write(sCount.PadRight(10)); Console.CursorLeft = pos + sCount.Length; Thread.Sleep(200); } }
public async Task MethodNotFoundTest() { VRpcListener listener = new VRpcListener(IPAddress.Any); listener.Start(); var ws = new DanilovSoft.WebSockets.ClientWebSocket(); await ws.ConnectAsync(new Uri($"ws://*****:*****@"{""jsonrpc"": ""2.0"", ""method"": ""foobar"", ""id"": ""1""}"), WebSocketMessageType.Text, true, default); byte[] buf = new byte[1024]; var m = await ws.ReceiveAsync(buf, default); string response = Encoding.UTF8.GetString(buf.AsSpan(0, m.Count)); //var dto = JsonSerializer.Deserialize<ErrorResponse>(response); Assert.Equal("Parse error (-32700)", m.CloseStatusDescription); }
static async Task Main() { var listener = new VRpcListener(IPAddress.Any, 1234); listener.Start(); var client = new VRpcClient("localhost", port: 1234, ssl: false, allowAutoConnect: true); client.Connect(); var proxy = client.GetProxy <IBenchmark>(); while (true) { try { proxy.VoidOneArg(123); } catch (VRpcBadRequestException ex) { } } }