laatzen/Common/CommonConsole/Program.cs
2023-11-15 16:32:01 +01:00

99 lines
2.1 KiB
C#

using OmniPipes;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace CommonConsole
{
public class Program
{
private static OmniPipe server;
private static OmniPipe client;
public static void Main()
{
// StartAsServer();
StartAsClient();
//Task.Factory.StartNew(() =>
//{
// while (true)
// {
// server.SendMessage(2, 0.59);
// Thread.Sleep(3000);
// }
//});
Console.ReadKey();
Task.Factory.StartNew(() =>
{
while (true)
{
client.SendMessage(1, 0.95);
Thread.Sleep(3000);
}
});
}
private static void StartAsClient()
{
client = new OmniPipe();
client.Connected += () =>
{
Console.WriteLine("Client connected");
};
client.Disconnected += () =>
{
Console.WriteLine("Client disconnected");
};
client.DoubleExchange += (x, v) =>
{
Console.WriteLine($"Received: (x:{x}, v:{v:0.0000})");
};
client.Exception += msg =>
{
Console.WriteLine(msg);
};
client.ConnectAsClient();
}
private static void StartAsServer()
{
server = new OmniPipe();
server.Connected += () =>
{
Console.WriteLine("Client connected");
};
server.Disconnected += () =>
{
Console.WriteLine("Client disconnected");
};
server.DoubleExchange += (x, v) =>
{
Console.WriteLine($"Received: (x:{x}, v:{v:0.0000})");
};
server.Exception += msg =>
{
Console.WriteLine(msg);
};
server.ConnectAsServer();
}
}
}