public void TestRpc() { // create test server int port = 6557; var serverBundle = TestUtil.CreateTestServer <ServerEventHandler>(port, true); var server = serverBundle.Item1; var handler = serverBundle.Item2; handler.Response = "TEST MESSAGE RECIEVED"; // create client var client = TestUtil.CreateClient <ClientEventHandler>(port, true).Item1; Assert.IsTrue(client.Connected); // test rpc var msg = "TEST MESSAGE"; var rspRpc = client.Rpc(TestUtil.ToByte(msg), 2000); Assert.IsNotNull(rspRpc); var rspMsg = TestUtil.ToString(rspRpc); Assert.AreEqual(msg + " RECIEVED", rspMsg); // server stop server.Stop(); TestUtil.Wait(); Assert.IsFalse(client.Connected); }
public void TestSendToAllClients() { /// create server int port = 5558; var bundle = TestUtil.CreateTestServer <ServerEventHandler>(port, true); var server = bundle.Item1; var eventHandler = bundle.Item2; var dataProcessor = TestUtil.CreateSimpleDataProcessor(); // connect clients int count = 2; var clients = Enumerable.Range(0, count).Select(i => TestUtil.CreateTestNativeClient(port)).ToList(); TestUtil.Wait(); Assert.AreEqual(count, server.Clients.Count()); // send message from server to all clients string message = "TEST MESSAGE"; var sent = server.SendToAll(TestUtil.ToByte(message)); Assert.AreEqual(count, sent); // read message from clients var recieved = clients.Select(c => { var buffer = new byte[200]; var cnt = c.GetStream().Read(buffer, 0, 200); Assert.AreNotEqual(0, cnt); var rcnt = dataProcessor.ProcessReceivedRawData(buffer, cnt); Assert.AreEqual(1, rcnt.Count()); return(TestUtil.ToString(rcnt.First())); }); // messages must be the same recieved.ToList().ForEach(msg => Assert.AreEqual(message, msg)); }
public void HandleSentData(DataContainer data) { Interlocked.Increment(ref Count); Sent = TestUtil.ToString(data.Payload); }
public byte[] HandleReceivedData(DataContainer data, bool rpcResponse = false) { Interlocked.Increment(ref Count); Recieved = TestUtil.ToString(data.Payload); return(null); }