Beispiel #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello ");
            bool connected = false;

            RemoteInputOutputClient client = new RemoteInputOutputClient("192.168.2.101")
            {
                OnException      = (ex) => { Console.WriteLine($"{ex.Message}"); },
                OnConnectChanged = (b) => { connected = b; Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")} / Connected:{b}"); },
                OnInputReceived  = (bs) =>
                {
                    Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")} / I:{string.Join(" ", bs)} / {connected}");
                },
                OnOutputReceived = (bs) =>
                {
                    Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")} / O:{string.Join(" ", bs)} / {connected}");
                }
            };

            client.Start();
            client.BeginListener();

            string cmd = null;

            do
            {
                cmd = Console.ReadLine();

                if (cmd == null)
                {
                    continue;
                }

                string[] str = cmd.Split(' ');
                if (str.Length != 2)
                {
                    continue;
                }

                if (!ushort.TryParse(str[0], out ushort ch))
                {
                    continue;
                }

                client.SetOutput(ch, str[1] == "1" ? true : false);
            } while (cmd != "q");

            client.EndListener();
            client.Stop();
        }
Beispiel #2
0
        private void btnConnect_Click(object sender, EventArgs e)
        {
            try
            {
                if (client == null)
                {
                    client = new RemoteInputOutputClient(this.tbHost.Text.Trim())
                    {
                        OnException      = (ex) => { Console.WriteLine($"{ex.Message}"); },
                        OnConnectChanged = (b) =>
                        {
                            connected = b;
                            Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")} / Connected:{b}");
                            RemoteInputOutputConnectChangedHandler(b);
                        },
                        OnInputReceived = (bs) =>
                        {
                            Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")} / I:{string.Join(" ", bs)} / {connected}");
                            RemoteDiStatusHandler(bs);
                        },
                        OnOutputReceived = (bs) =>
                        {
                            Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss.fff")} / O:{string.Join(" ", bs)} / {connected}");
                            RemoteDoStatusHandler(bs);
                        }
                    };
                }

                if (client.Running)
                {
                    client.EndListener();
                    client.Stop();
                }
                else
                {
                    client.Start();
                    client.BeginListener();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }