예제 #1
0
 /// <summary>
 /// Execute user command
 /// </summary>
 /// <param name="command">name of action</param>
 /// <param name="args">command arguments</param>
 /// <param name="server"></param>
 /// <param name="selectedClient"></param>
 private void ExecuteCommand(string command, string[] args, EasyTcpServer server, ref EasyTcpClient selectedClient)
 {
     if (command == "s" || command == "select")
     {
         selectedClient = SelectClient(new List <EasyTcpClient>(server.GetConnectedClients()));
     }
     else
     {
         selectedClient?.SendAction(command, args.Any() ? Encoding.UTF8.GetBytes(string.Join(':', args)) : null,
                                    true);
     }
 }
예제 #2
0
 /// <summary>
 /// Send action (object) to remote host
 /// </summary>
 /// <param name="client"></param>
 /// <param name="action">action code</param>
 /// <param name="data">data to send to remote host</param>
 /// <param name="compression">compress data using GZIP if set to true</param>
 public static void SendAction(this EasyTcpClient client, int action, object data, bool compression = false)
 => client.SendAction(action, client?.Serialize(data), compression);
예제 #3
0
 /// <summary>
 /// Send action (IEasyTcpPacket) to remote host
 /// </summary>
 /// <param name="client"></param>
 /// <param name="action">action code</param>
 /// <param name="data">data to send to remote host</param>
 /// <param name="compression">compress data using GZIP if set to true</param>
 public static void SendAction(this EasyTcpClient client, int action, IEasyTcpPacket data, bool compression = false)
 => client.SendAction(action, data.Data, compression);
예제 #4
0
 /// <summary>
 /// Send action (IEasyTcpPacket) to remote host
 /// </summary>
 /// <param name="client"></param>
 /// <param name="action">action code as string</param>
 /// <param name="data">data to send to remote host</param>
 /// <param name="compression">compress data using GZIP if set to true</param>
 public static void SendAction(this EasyTcpClient client, string action, IEasyTcpPacket data, bool compression = false)
 => client.SendAction(action.ToActionCode(), data.Data, compression);
예제 #5
0
 /// <summary>
 /// Send action (string) to remote host
 /// </summary>
 /// <param name="client"></param>
 /// <param name="action">action code as string</param>
 /// <param name="data">data to send to remote host</param>
 /// <param name="encoding">encoding type (Default: UTF8)</param>
 /// <param name="compression">compress data using GZIP if set to true</param>
 public static void SendAction(this EasyTcpClient client, string action, string data, Encoding encoding = null,
                               bool compression = false)
 => client.SendAction(action.ToActionCode(), (encoding ?? Encoding.UTF8).GetBytes(data), compression);
예제 #6
0
 /// <summary>
 /// Send action (bool) to remote host
 /// </summary>
 /// <param name="client"></param>
 /// <param name="action">action code as string</param>
 /// <param name="data">data to send to remote host</param>
 public static void SendAction(this EasyTcpClient client, string action, bool data) =>
 client.SendAction(action.ToActionCode(), BitConverter.GetBytes(data));
예제 #7
0
 /// <summary>
 /// Send action (bool) to remote host
 /// </summary>
 /// <param name="client"></param>
 /// <param name="action">action code</param>
 /// <param name="data">data to send to remote host</param>
 public static void SendAction(this EasyTcpClient client, int action, bool data) =>
 client.SendAction(action, BitConverter.GetBytes(data));
예제 #8
0
 /// <summary>
 /// Send action with data (custom class) to the remote host
 /// </summary>
 /// <param name="client"></param>
 /// <param name="action">action code as string</param>
 /// <param name="o">custom class</param>
 public static void SendAction(this EasyTcpClient client, string action, object o, bool compression = false)
     => client.SendAction(action.ToActionCode(), o, compression);
예제 #9
0
 /// <summary>
 /// Send action to remote host
 /// </summary>
 /// <param name="client"></param>
 /// <param name="action">action code as string</param>
 /// <param name="data">data to send to remote host</param>
 /// <param name="compression">compress data using deflate if set to true</param>
 public static void SendAction(this EasyTcpClient client, string action, byte[] data = null, bool compression = false) =>
 client.SendAction(action.ToActionCode(), data, compression);