This commit is contained in:
2021-06-04 16:57:32 +05:00
parent 2ea459b400
commit 4f4ff1a25a
37 changed files with 1129 additions and 754 deletions

View File

@@ -14,11 +14,15 @@ namespace Test2
{
class Program
{
static bool cycle = true;
static void Main(string[] args)
{
LogConf();
T3();
Console.WriteLine("Hello World!");
var t = new Task(() => T1());
t.Start();
Console.ReadKey();
cycle = false;
//Console.WriteLine("Hello World!");
}
static void LogConf()
{
@@ -52,6 +56,28 @@ namespace Test2
}
static void T1()
{
var t = new NETClient("10.10.45.151", 1070);
while (cycle)
{
var arr = t.Full_Server_Time();
Console.WriteLine(arr.ToString("yyyy.MM.dd HH.mm.ss"));
Task.Delay(1000).Wait();
}
}
static void OLD4()
{
var t = new NETClient("10.10.45.151", 1070);
var task1 = new Task(() => t.Full_Download(new DateTime(2021, 06, 04), 33, 1));
var task2 = new Task(() => t.Full_Download(new DateTime(2021, 06, 04), 34, 1));
task1.Start();
task1.GetAwaiter().GetResult();
task2.Start();
task2.GetAwaiter().GetResult();
}
static void OLD1()
{
var t = new NETClient("10.10.45.151", 1070);
var task = new Task<byte[]>(() => t.Full_Download_NH(new DateTime(2021, 06, 02), 12, 1));
@@ -69,7 +95,7 @@ namespace Test2
file.Write(res, 0, res.Length);
}
}
static void T3()
static void OLD2()
{
string[] tes = {
"version",
@@ -166,6 +192,26 @@ namespace Test2
}
}
}
static void OLD3()
{
var rnd = new Random();
var t = new NETClient("10.10.45.151", 1070);
string[] a = null;
int c = 0;
for (var i = 0; i < 8; i++)
{
if (a == null || a.Length == 0)
a = t.Full_Dir_Browse();
else
a = t.Full_Dir_Browse(a[c]);
Console.WriteLine((i + 1).ToString() + " test:");
if (a != null)
foreach (var e in a) Console.WriteLine(e);
else
Console.WriteLine("NULL");
c = (a == null) ? 0 : rnd.Next(0, a.Length);
}
}
}
}

View File

@@ -0,0 +1,221 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>DataClient</name>
</assembly>
<members>
<member name="P:DataClient.NETClient.Status">
<summary>
Статус процесса выполнения запроса.
Предполагается использовать только на больших
загрузках и в ассинхронных задачах
</summary>
</member>
<member name="T:DataClient.NETClient.Code">
<summary>Коды для работы с СТП.</summary>
</member>
<member name="P:DataClient.NETClient.Ip">
<summary>IP адрес СТП.</summary>
</member>
<member name="P:DataClient.NETClient.Port">
<summary>Порт СТП.</summary>
</member>
<member name="P:DataClient.NETClient.RetryCount">
<summary>Количество попыток переподключения.</summary>
</member>
<member name="P:DataClient.NETClient.RetryInterval">
<summary>Время в секундах между попытками переподключения.</summary>
</member>
<member name="M:DataClient.NETClient.#ctor">
<summary>Основной конструктор класса NetClient. Ip-адрес - 127.0.0.1; Порт - 1070;</summary>
</member>
<member name="M:DataClient.NETClient.#ctor(System.String,System.Int32)">
<summary>Конструктор класса NetClient с параметрами.</summary><param name="ip">Ip-адрес сервера.</param><param name="port">Порт сервера.</param>
</member>
<member name="M:DataClient.NETClient.ReceiveBytesFull(System.Net.Sockets.NetworkStream,System.Int32,System.Int32)">
<summary>Получение неопределенного количество байт с сервера. Количество ограничено максимальным значением типа UInt.</summary><param name="ns">Открытый сетевой поток.</param><param name="awaitInterval">Время ожидания между проверками буфера.</param><param name="tryCounts">Количество проверок буфера.</param><returns>Массив байт.</returns><exception cref="T:System.InvalidOperationException">
Соединение с сервером закрыто.
</exception><exception cref="T:System.IO.IOException">
Стрим недоступен для Чтения.
</exception><exception cref="T:System.TimeoutException">
Сервер сбросил соединение.
</exception>
</member>
<member name="M:DataClient.NETClient.ReceiveBytesFixSize(System.Net.Sockets.NetworkStream,System.UInt32,System.Int32,System.Int32)">
<summary>Получение определенного количество байт с сервера.</summary><param name="ns">Открытый сетевой поток.</param><param name="size">Кол-во получаемых байт.</param><param name="awaitInterval">Время ожидания между проверками буфера.</param><param name="tryCounts">Количество проверок буфера.</param><returns>Массив байт. Может быть меньше заданного количества.</returns><exception cref="T:System.ArgumentException">
Размер байт не должен равняться нулю.
</exception><exception cref="T:System.IO.IOException">
Стрим недоступен для записи.
</exception><exception cref="T:System.TimeoutException">
Сервер сбросил соединение.
</exception>
</member>
<member name="M:DataClient.NETClient.SendBytes(System.Net.Sockets.NetworkStream,System.Byte[])">
<summary>Отправка массива байт на СТП.</summary><param name="ns">Открытый сетевой поток.</param><param name="arr">Массив байт.</param><returns>Результат отправки.</returns><exception cref="T:System.ArgumentException">
Размер байт не должен равняться нулю.
</exception><exception cref="T:System.IO.IOException">
Стрим недоступен для записи.
</exception>
</member>
<member name="M:DataClient.NETClient.CreateCode(System.UInt32,System.String,System.Byte[],System.Byte[])">
<summary>Формирование массива байт на отправку.</summary><param name="code">Код комманды. Конвертируется в 4 байта. (0x00 0x00 0x00 0x00)</param><param name="val">Передаваемая строка.</param><param name="prefix">Байты перед передаваемой строкой.</param><param name="postfix">Байты после передаваемой строкой.</param><returns>Массив байт для отправки на СТП.</returns>
</member>
<member name="M:DataClient.NETClient.Connect">
<summary>Открытие соединения к серверу.</summary><remarks>Информирует только о подключении к серверу. Исключения опускает.</remarks><returns>Состояние подключения.</returns>
</member>
<member name="M:DataClient.NETClient.Connected">
<summary>Проверка подключения.</summary><returns>Состояние подключения.</returns>
</member>
<member name="M:DataClient.NETClient.Close">
<summary>Закрыть подключение.</summary>
</member>
<member name="M:DataClient.NETClient.SendBytes(System.Byte[])">
<summary>Отправка массива байт на СТП.</summary><param name="send">Массив байт для отправки.</param><returns>Результат отправки.</returns><exception cref="T:System.ArgumentException">
Размер байт не должен равняться нулю.
</exception><exception cref="T:System.IO.IOException">
Поток недоступен для записи.
</exception>
</member>
<member name="M:DataClient.NETClient.ReceiveBytes">
<summary>Получение неизвестного количество байт.</summary><remarks>Возвращает null, если что-то пошло не так.</remarks><returns>Массив байт.</returns>
</member>
<member name="M:DataClient.NETClient.ReceiveBytes(System.UInt32)">
<summary>Получение определенного количество байт.</summary><param name="size">Количество байт.</param><remarks>Возвращает null, если что-то пошло не так.</remarks><returns>Массив байт определенного размера. Может массив быть меньше, если в буфере не будет достаточно данных.</returns>
</member>
<member name="M:DataClient.NETClient.My_Connect">
<summary>Внутренняя функция для создания подключения.</summary><returns>Возвращает флаг необходимости закрытия соединения.</returns><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.My_Close(System.Boolean)">
<summary>Внетренняя функция для закрытия соединения.</summary><param name="needClose">Флаг о необходимости закрыть соединение.</param>
</member>
<member name="M:DataClient.NETClient.GetFile(DataClient.NETClient.Code,System.DateTime,System.Int32,System.Int32)">
<summary>Внутренняя функция получения файлов.</summary><param name="code">Код, который будет отправлен на сервер.</param><param name="date">Дата. Из неё формируется строка в формате YYYMMDD.</param><param name="vdp">Номер печи. 00 - общецеховые параметры.</param><param name="idx">Индекс файла. От 0 до 15.</param><returns>Массив байт, соответствующий запрашиваемому файлу.</returns><exception cref="T:System.ArgumentException">
Неверный код, для получения файла.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_Download_NH(System.DateTime,System.Int32,System.Int32)">
<summary>Получение файла данных (байтами) с СТП.</summary><param name="date">Дата. Из неё формируется строка в формате YYYMMDD.</param><param name="vdp">Номер печи. 00 - общецеховые параметры.</param><param name="idx">Индекс файла. От 0 до 15.</param><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>Обработанный массив байт.</returns><exception cref="T:System.ArgumentException">
Неверный код, для получения файла.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_Download(System.DateTime,System.Int32,System.Int32)">
<summary>Получение файла данных (байтами) с СТП.</summary><param name="date">Дата. Из неё формируется строка в формате YYYMMDD.</param><param name="vdp">Номер печи. 00 - общецеховые параметры.</param><param name="idx">Индекс файла. От 0 до 15.</param><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>Обработанный массив байт.</returns><exception cref="T:System.ArgumentException">
Неверный код, для получения файла.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_By_Name(System.String)">
<summary>Получение файла данных (байтами) с СТП.</summary><param name="val">Название команды.</param><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>Массив байт, соответствующий этой команде. Может вернуть null.</returns><exception cref="T:System.ArgumentException">
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="M:DataClient.NETClient.Full_Dir_Browse(System.String)">
<summary>Получение структуры файлов и папок в запрашиваемой директории.</summary><param name="dir">Путь, структуру которого надо отобразить.</param><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><returns>Массив строк. Полные пути к файлам и папкам. Может вернуть null.</returns><exception cref="T:System.ArgumentException">
Неверный флаг окончания строки.
Неверный флаг во время получения файла.
</exception><exception cref="T:System.IO.IOException">
Предыдущий запрос не закончен.
Поток недоступен для записи.
</exception><exception cref="T:System.InvalidOperationException">
Не получилось соединиться с сервером.
</exception>
</member>
<member name="T:DataClient.STPClient">
<summary>
Класс для связи с СТП. Содержит все инструменты, для получения данных.
</summary>
</member>
<member name="P:DataClient.STPClient.UseServer">
<summary>Номер сервера, используемого по умолчанию.</summary>
</member>
<member name="P:DataClient.STPClient.ListServers">
<summary>Массив серверов, инициализированных в экземпляре класса.</summary>
</member>
<member name="M:DataClient.STPClient.GetServerIdByName(System.String)">
<summary>Получение номера сервера по его названию.</summary>
<param name="name">Название сервера.</param>
<returns>Номер сервера в списке серверов.</returns>
</member>
<member name="M:DataClient.STPClient.GetServerNameById(System.Int32)">
<summary>Получение название сервера по его номеру.</summary>
<param name="id">Номер сервера в списке серверов.</param>
<returns>Название сервера.</returns>
</member>
<member name="M:DataClient.STPClient.CheckDataServer(System.String,System.Int32,System.String)">
<summary>Проверка параметров серевера перед их добавлением в список.</summary>
<param name="ip">IP адресс сервера.</param>
<param name="port">Порт сервера.</param>
<param name="dir">Путь к архиву.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.AddServer(System.String,System.String,System.Int32,System.String)">
<summary>Добавление сервера в список серверов.</summary>
<param name="name">Название сервера</param>
<param name="ip">IP адресс сервера.</param>
<param name="port">Порт сервера.</param>
<param name="dir">Путь к архиву.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.ChangeServerById(System.Int32,System.String,System.String,System.Int32,System.String)">
<summary>Изменение сервера в списке серверов по его номеру.</summary>
<param name="id">Номер сервера в списке серверов.</param>
<param name="name">Название сервера.</param>
<param name="ip">IP адресс сервера.</param>
<param name="port">Порт сервера.</param>
<param name="dir">Путь к архиву.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.ChangeServerByName(System.String,System.String,System.Int32,System.String)">
<summary>Изменение сервера в списке серверов по его названию.</summary>
<param name="name">Название сервера.</param>
<param name="ip">IP адресс сервера.</param>
<param name="port">Порт сервера.</param>
<param name="dir">Путь к архиву.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.RemoveServerById(System.Int32)">
<summary>Удаление сервера из списка серверов по его номеру.</summary>
<param name="id">Номер сервера в списке серверов.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.RemoveServerByName(System.String)">
<summary>Удаление сервера из списка серверов по его названию.</summary>
<param name="name">Название сервера.</param>
<returns>Результат выполнения функции.</returns>
</member>
<member name="M:DataClient.STPClient.Config">
<summary>Чтение конфигурационнного файла и установка параметров по умолчанию.</summary>
</member>
<member name="M:DataClient.STPClient.#ctor">
<summary>Создание экземпляра класса.</summary>
</member>
<member name="M:DataClient.STPClient.#ctor(System.String)">
<summary>Создание экземпляра класса с указанием конфигурационного файла.</summary>
<param name="confDir">Путь к файлу конфигурации.</param>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -28,3 +28,4 @@ D:\GIT\ASCKU_PC\Test2\obj\Debug\net5.0\Test2.pdb
D:\GIT\ASCKU_PC\Test2\obj\Debug\net5.0\Test2.genruntimeconfig.cache
D:\GIT\ASCKU_PC\Test2\bin\Debug\net5.0\DataClient.dll
D:\GIT\ASCKU_PC\Test2\bin\Debug\net5.0\DataClient.pdb
D:\GIT\ASCKU_PC\Test2\bin\Debug\net5.0\DataClient.xml

Binary file not shown.

Binary file not shown.

Binary file not shown.