| gclib 1.35.5 Communications API for Galil controllers and PLCs |

Remote_Client.cs
Go to the documentation of this file.
1
10 using System;
11
12 namespace examples
13 {
14 public static partial class Examples
15 {
32
33 public static int Remote_Client()
34 {
35 gclib gclib = new gclib();
36
37 bool loop = true;
38 string[] servers_list = Array.Empty<string>();
39
40 Console.WriteLine("<s> List available servers on the network\n" +
41 "<h> List available hardware on currently connected server\n" +
42 "<0-9> Enter numbers 0-9 to connect to a server by index\n" +
43 "<l> Set active server back to local server\n" +
44 "<q> Quit");
45
46 while (loop)
47 {
48 char input = Console.ReadKey(true).KeyChar;
49
50 if(input == 'q')
51 {
52 loop = false;
53 }
54 else if(input == 's')
55 {
56 Console.WriteLine("Available Servers:");
57 servers_list = gclib.GListServers();
58 Print_Servers_List(servers_list);
59 }
60 else if(input >= '0' && input <= '9')
61 {
62 int index = input - '0';
63 if(servers_list.Length > 0 && index < servers_list.Length)
64 {
65 gclib.GSetServer(servers_list[index]);
66 Console.WriteLine("Server set to: " + servers_list[index]);
67 }
68 }
69 else if(input == 'l')
70 {
71 gclib.GSetServer("Local");
72 Console.WriteLine("Server set to: Local");
73 }
74 else if(input == 'h')
75 {
76 string[] addresses = gclib.GAddresses();
77
78 foreach(string address in addresses)
79 {
80 Console.WriteLine(address);
81 }
82 }
83 }
84
85 return GALIL_EXAMPLE_OK;
86 }
87
88 private static void Print_Servers_List(string[] servers_list)
89 {
90 if(servers_list.Length == 0)
91 {
92 Console.WriteLine("none");
93 }
94 else
95 {
96 for(int i = 0; i < servers_list.Length; i++)
97 {
98 Console.WriteLine("<" + i + "> " + servers_list[i]);
99 }
100 }
101 }
103 }
104 }
examples.Examples.GALIL_EXAMPLE_OK
const int GALIL_EXAMPLE_OK
Examples success code.
Definition: examples.cs:29
examples.Examples.Remote_Client
static int Remote_Client()
Accepts user input to publish to list and connect to available servers.
Definition: Remote_Client.cs:33
examples
Definition: commands.cs:14