work
This commit is contained in:
@@ -4,6 +4,9 @@
|
||||
<name>DataClient</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:DataClient.NETClient">
|
||||
<summary>Класс для связи с СТП сервером по проботоколу TCP.</summary>
|
||||
</member>
|
||||
<member name="P:DataClient.NETClient.Status">
|
||||
<summary>
|
||||
Статус процесса выполнения запроса.
|
||||
@@ -14,6 +17,30 @@
|
||||
<member name="T:DataClient.NETClient.Code">
|
||||
<summary>Коды для работы с СТП.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.version">
|
||||
<summary>Версия.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.download">
|
||||
<summary>Загрузка.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.pasp_download">
|
||||
<summary>Загрузка паспорта.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.server_time">
|
||||
<summary>Время сервера.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.keep_alive">
|
||||
<summary>Оставаться на связи.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.download_nh">
|
||||
<summary>Загрузка (nh).</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.dir_browse">
|
||||
<summary>Структура директории.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.by_name">
|
||||
<summary>Поиск команды по имени.</summary>
|
||||
</member>
|
||||
<member name="P:DataClient.NETClient.Ip">
|
||||
<summary>IP адрес СТП.</summary>
|
||||
</member>
|
||||
@@ -32,8 +59,8 @@
|
||||
<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">
|
||||
<member name="M:DataClient.NETClient.ReceiveBytesFull(System.Net.Sockets.NetworkStream)">
|
||||
<summary>Получение неопределенного количество байт с сервера. Количество ограничено максимальным значением типа UInt.</summary><param name="ns">Открытый сетевой поток.</param><returns>Массив байт.</returns><exception cref="T:System.InvalidOperationException">
|
||||
Соединение с сервером закрыто.
|
||||
</exception><exception cref="T:System.IO.IOException">
|
||||
Стрим недоступен для Чтения.
|
||||
@@ -41,8 +68,8 @@
|
||||
Сервер сбросил соединение.
|
||||
</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">
|
||||
<member name="M:DataClient.NETClient.ReceiveBytesFixSize(System.Net.Sockets.NetworkStream,System.UInt32)">
|
||||
<summary>Получение определенного количество байт с сервера.</summary><param name="ns">Открытый сетевой поток.</param><param name="size">Кол-во получаемых байт.</param><returns>Массив байт. Может быть меньше заданного количества.</returns><exception cref="T:System.ArgumentException">
|
||||
Размер байт не должен равняться нулю.
|
||||
</exception><exception cref="T:System.IO.IOException">
|
||||
Стрим недоступен для записи.
|
||||
@@ -144,6 +171,36 @@
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:DataClient.NETClient.Full_Server_Time">
|
||||
<summary>Получение текущее время на сервере.</summary><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_Version">
|
||||
<summary>Получение текущую версию сервера.</summary><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_Keep_Alive">
|
||||
<summary>Отправка команды для поддержания соединения.</summary><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><exception cref="T:System.IO.IOException">
|
||||
Предыдущий запрос не закончен.
|
||||
Поток недоступен для записи.
|
||||
</exception><exception cref="T:System.InvalidOperationException">
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="T:DataClient.STPClient">
|
||||
<summary>
|
||||
Класс для связи с СТП. Содержит все инструменты, для получения данных.
|
||||
|
@@ -125,8 +125,6 @@
|
||||
<summary>Получение определенного количество байт с сервера.</summary>
|
||||
<param name="ns">Открытый сетевой поток.</param>
|
||||
<param name="size">Кол-во получаемых байт.</param>
|
||||
<param name="awaitInterval">Время ожидания между проверками буфера.</param>
|
||||
<param name="tryCounts">Количество проверок буфера.</param>
|
||||
<returns>Массив байт. Может быть меньше заданного количества.</returns>
|
||||
<exception cref="ArgumentException">
|
||||
Размер байт не должен равняться нулю.
|
||||
@@ -141,8 +139,6 @@
|
||||
<m n="ReceiveBytesFull">
|
||||
<summary>Получение неопределенного количество байт с сервера. Количество ограничено максимальным значением типа UInt.</summary>
|
||||
<param name="ns">Открытый сетевой поток.</param>
|
||||
<param name="awaitInterval">Время ожидания между проверками буфера.</param>
|
||||
<param name="tryCounts">Количество проверок буфера.</param>
|
||||
<returns>Массив байт.</returns>
|
||||
<exception cref="InvalidOperationException">
|
||||
Соединение с сервером закрыто.
|
||||
|
@@ -220,12 +220,12 @@ namespace DataClient
|
||||
}
|
||||
private int retryCount = 3;
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="RetryInterval"]/*' />
|
||||
public int RetryInterval
|
||||
public double RetryInterval
|
||||
{
|
||||
get { return retryInterval; }
|
||||
set { retryInterval = (value < 1) ? 1 : value; }
|
||||
}
|
||||
private int retryInterval = 1;
|
||||
private double retryInterval = 1;
|
||||
|
||||
//Construction
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="NETClient1"]/*' />
|
||||
@@ -247,16 +247,14 @@ namespace DataClient
|
||||
|
||||
//Work with socket functions
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="ReceiveBytesFull"]/*' />
|
||||
private byte[] ReceiveBytesFull(NetworkStream ns, int awaitInterval = 1, int tryCounts = 3)
|
||||
private byte[] ReceiveBytesFull(NetworkStream ns)
|
||||
{
|
||||
try{ return ReceiveBytesFixSize(ns, uint.MaxValue, awaitInterval, tryCounts); }
|
||||
try{ return ReceiveBytesFixSize(ns, uint.MaxValue); }
|
||||
catch { throw; }
|
||||
}
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="ReceiveBytesFixSize"]/*' />
|
||||
private byte[] ReceiveBytesFixSize(NetworkStream ns, uint size, int awaitInterval = 1, int tryCounts = 3)
|
||||
private byte[] ReceiveBytesFixSize(NetworkStream ns, uint size)
|
||||
{
|
||||
tryCounts = (tryCounts < 1) ? 1 : tryCounts;
|
||||
awaitInterval = (awaitInterval < 1) ? 1 : awaitInterval;
|
||||
if (size == 0) throw new ArgumentException("Size can't be zero.");
|
||||
if (!ns.Socket.Connected) throw new InvalidOperationException("NetworkStream not connected to server.");
|
||||
if (!ns.CanRead) throw new IOException("NetworkStream not access to Read.");
|
||||
@@ -267,7 +265,7 @@ namespace DataClient
|
||||
if (!ns.Socket.Connected) throw new TimeoutException("Server drop connection.");
|
||||
if (!ns.DataAvailable)
|
||||
{
|
||||
Task.Delay(awaitInterval * 1000).Wait();
|
||||
Task.Delay(Convert.ToInt32(Math.Floor(retryInterval * 1000))).Wait();
|
||||
tryCount++;
|
||||
continue;
|
||||
}
|
||||
@@ -277,7 +275,7 @@ namespace DataClient
|
||||
var length = ns.Read(buf, 0, buf.Length);
|
||||
for (var i = 0; i < length; i++) res.Add(buf[i]);
|
||||
if (res.Count == size) return res.ToArray();
|
||||
} while (tryCount < tryCounts);
|
||||
} while (tryCount < retryCount);
|
||||
return res.ToArray();
|
||||
}
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="SendBytes1"]/*' />
|
||||
|
@@ -28,15 +28,243 @@ namespace DataClient.Struct
|
||||
}
|
||||
}
|
||||
public class NetStatus
|
||||
{
|
||||
{
|
||||
public enum Status
|
||||
{
|
||||
{
|
||||
wait = 0,
|
||||
in_progress = 1,
|
||||
complete = 2
|
||||
}
|
||||
}
|
||||
public uint fullSize = 0;
|
||||
public uint size = 0;
|
||||
public Status stat = Status.wait;
|
||||
}
|
||||
}
|
||||
public class Pasport
|
||||
{
|
||||
//functions
|
||||
private DateTime? ByteToDate(byte[] arr)
|
||||
{
|
||||
if (arr == null || arr.Length != 7) return null;
|
||||
return new DateTime(arr[0] | arr[1] << 8, arr[2], arr[3], arr[4], arr[5], arr[6]);
|
||||
}
|
||||
private byte[] DateToByte(DateTime? date)
|
||||
{
|
||||
if (!date.HasValue) return null;
|
||||
return new byte[]
|
||||
{
|
||||
BitConverter.GetBytes(date.Value.Year)[0],
|
||||
BitConverter.GetBytes(date.Value.Year)[1],
|
||||
(byte)date.Value.Month,
|
||||
(byte)date.Value.Day,
|
||||
(byte)date.Value.Hour,
|
||||
(byte)date.Value.Minute,
|
||||
(byte)date.Value.Second
|
||||
};
|
||||
}
|
||||
private byte[] StringToByte(uint? size = null, string str = null)
|
||||
{
|
||||
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
||||
var enc = Encoding.GetEncoding(866);
|
||||
var szArr = size ?? ((!string.IsNullOrEmpty(str)) ? (uint)(str.Length + 1) : 0);
|
||||
var strArr = (string.IsNullOrEmpty(str)) ? Array.Empty<byte>() : enc.GetBytes(str);
|
||||
var res = new byte[szArr];
|
||||
for (var i = 0; i < res.Length; i++)
|
||||
res[i] = (byte)((i == res.Length - 1) ? 0x00 : (i < strArr.Length) ? strArr[i] : 0x00);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//params
|
||||
public bool HasData { get { return numVDP.HasValue && dStart.HasValue && dEnd.HasValue; } }
|
||||
public byte? numVDP = null;
|
||||
public DateTime? dStart = null;
|
||||
public DateTime? dEnd = null;
|
||||
|
||||
public bool hasPasport = false;
|
||||
public int kod_npl = 0;
|
||||
public string nplav = null; //12
|
||||
public string rm = null; //11
|
||||
public string splav = null; //101
|
||||
public string iS = null; //51
|
||||
public ushort notd = 0;
|
||||
public ushort vessl = 0;
|
||||
public ushort diam = 0;
|
||||
public ushort prpl = 0;
|
||||
public string tin = null; //9
|
||||
public string dzap = null; //9
|
||||
public short dlog = 0;
|
||||
public short last = 0;
|
||||
public short dlper = 0;
|
||||
public string nazn = null; //51
|
||||
public ushort kompl = 0;
|
||||
public ushort izl = 0;
|
||||
public float robm = 0;
|
||||
public float rizol = 0;
|
||||
public ushort dkr = 0;
|
||||
public string nkon = null; //51
|
||||
public string pos = null; //6
|
||||
public string ukaz = null; //51
|
||||
public string zakaz = null; //51
|
||||
public string kat = null; //51
|
||||
public string pril = null; //3
|
||||
public string rezerved = null; //1023
|
||||
|
||||
public byte[] PaspByte
|
||||
{
|
||||
get
|
||||
{
|
||||
var res = new List<byte>();
|
||||
|
||||
res.Add((byte)(HasData ? 0x01 : 0x00));
|
||||
if (!HasData) return res.ToArray();
|
||||
|
||||
res.Add(numVDP.Value);
|
||||
res.AddRange(DateToByte(dStart));
|
||||
res.AddRange(DateToByte(dEnd));
|
||||
res.Add((byte)(hasPasport ? 0x01 : 0x00));
|
||||
if (!hasPasport) return res.ToArray();
|
||||
|
||||
res.AddRange(BitConverter.GetBytes(kod_npl));
|
||||
res.AddRange(StringToByte(12, nplav));
|
||||
res.AddRange(StringToByte(11, rm));
|
||||
res.AddRange(StringToByte(101, splav));
|
||||
res.AddRange(StringToByte(51, iS));
|
||||
res.AddRange(BitConverter.GetBytes(notd));
|
||||
res.AddRange(BitConverter.GetBytes(vessl));
|
||||
res.AddRange(BitConverter.GetBytes(diam));
|
||||
res.AddRange(BitConverter.GetBytes(prpl));
|
||||
res.AddRange(StringToByte(9, tin));
|
||||
res.AddRange(StringToByte(9, dzap));
|
||||
res.AddRange(BitConverter.GetBytes(dlog));
|
||||
res.AddRange(BitConverter.GetBytes(last));
|
||||
res.AddRange(BitConverter.GetBytes(dlper));
|
||||
res.AddRange(StringToByte(51, nazn));
|
||||
res.AddRange(BitConverter.GetBytes(kompl));
|
||||
res.AddRange(BitConverter.GetBytes(izl));
|
||||
res.AddRange(BitConverter.GetBytes(robm));
|
||||
res.AddRange(BitConverter.GetBytes(rizol));
|
||||
res.AddRange(BitConverter.GetBytes(dkr));
|
||||
res.AddRange(StringToByte(51, nkon));
|
||||
res.AddRange(StringToByte(6, pos));
|
||||
res.AddRange(StringToByte(51, ukaz));
|
||||
res.AddRange(StringToByte(51, zakaz));
|
||||
res.AddRange(StringToByte(51, kat));
|
||||
res.AddRange(StringToByte(3, pril));
|
||||
res.AddRange(StringToByte(1023, rezerved));
|
||||
|
||||
return res.ToArray();
|
||||
}
|
||||
set
|
||||
{
|
||||
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
||||
var enc = Encoding.GetEncoding(866);
|
||||
var count = 0;
|
||||
var tmpArr = Array.Empty<byte>();
|
||||
if (value == null) return;
|
||||
if (value.Length < (count + 1) || value[count] != 0x01) return;
|
||||
count++;
|
||||
if (value.Length < (count + 1)) return;
|
||||
numVDP = value[count];
|
||||
count++;
|
||||
if (value.Length < (count + 7)) return;
|
||||
tmpArr = new byte[7];
|
||||
Array.Copy(value, count, tmpArr, 0, 7);
|
||||
dStart = ByteToDate(tmpArr);
|
||||
count += 7;
|
||||
if (value.Length < (count + 7)) return;
|
||||
tmpArr = new byte[7];
|
||||
Array.Copy(value, count, tmpArr, 0, 7);
|
||||
dEnd = ByteToDate(tmpArr);
|
||||
count += 7;
|
||||
if (value.Length < (count + 1) || value[count] != 0x01) { hasPasport = false; return; }
|
||||
hasPasport = true;
|
||||
count++;
|
||||
if (value.Length < (count + 4)) return;
|
||||
tmpArr = new byte[4];
|
||||
Array.Copy(value, count, tmpArr, 0, 4);
|
||||
kod_npl = BitConverter.ToInt32(tmpArr);
|
||||
count += 4;
|
||||
if (value.Length < (count + 12)) return;
|
||||
nplav = enc.GetString(value, count, 12);
|
||||
count += 12;
|
||||
if (value.Length < (count + 11)) return;
|
||||
rm = enc.GetString(value, count, 11);
|
||||
count += 11;
|
||||
if (value.Length < (count + 101)) return;
|
||||
splav = enc.GetString(value, count, 101);
|
||||
count += 101;
|
||||
if (value.Length < (count + 51)) return;
|
||||
iS = enc.GetString(value, count, 51);
|
||||
count += 51;
|
||||
if (value.Length < (count + 2)) return;
|
||||
notd = BitConverter.ToUInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 2)) return;
|
||||
vessl = BitConverter.ToUInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 2)) return;
|
||||
diam = BitConverter.ToUInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 2)) return;
|
||||
prpl = BitConverter.ToUInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 9)) return;
|
||||
tin = enc.GetString(value, count, 9);
|
||||
count += 9;
|
||||
if (value.Length < (count + 9)) return;
|
||||
dzap = enc.GetString(value, count, 9);
|
||||
count += 9;
|
||||
if (value.Length < (count + 2)) return;
|
||||
dlog = BitConverter.ToInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 2)) return;
|
||||
last = BitConverter.ToInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 2)) return;
|
||||
dlper = BitConverter.ToInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 51)) return;
|
||||
nazn = enc.GetString(value, count, 51);
|
||||
count += 51;
|
||||
if (value.Length < (count + 2)) return;
|
||||
kompl = BitConverter.ToUInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 2)) return;
|
||||
izl = BitConverter.ToUInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 4)) return;
|
||||
robm = BitConverter.ToSingle(value, count);
|
||||
count += 4;
|
||||
if (value.Length < (count + 4)) return;
|
||||
rizol = BitConverter.ToSingle(value, count);
|
||||
count += 4;
|
||||
if (value.Length < (count + 2)) return;
|
||||
dkr = BitConverter.ToUInt16(value, count);
|
||||
count += 2;
|
||||
if (value.Length < (count + 51)) return;
|
||||
nkon = enc.GetString(value, count, 51);
|
||||
count += 51;
|
||||
if (value.Length < (count + 6)) return;
|
||||
pos = enc.GetString(value, count, 6);
|
||||
count += 6;
|
||||
if (value.Length < (count + 51)) return;
|
||||
ukaz = enc.GetString(value, count, 51);
|
||||
count += 51;
|
||||
if (value.Length < (count + 51)) return;
|
||||
zakaz = enc.GetString(value, count, 51);
|
||||
count += 51;
|
||||
if (value.Length < (count + 51)) return;
|
||||
kat = enc.GetString(value, count, 51);
|
||||
count += 51;
|
||||
if (value.Length < (count + 3)) return;
|
||||
pril = enc.GetString(value, count, 3);
|
||||
count += 3;
|
||||
if (value.Length < (count + 1023)) return;
|
||||
rezerved = enc.GetString(value, count, 1023);
|
||||
count += 1023;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
@@ -4,6 +4,9 @@
|
||||
<name>DataClient</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:DataClient.NETClient">
|
||||
<summary>Класс для связи с СТП сервером по проботоколу TCP.</summary>
|
||||
</member>
|
||||
<member name="P:DataClient.NETClient.Status">
|
||||
<summary>
|
||||
Статус процесса выполнения запроса.
|
||||
@@ -14,6 +17,30 @@
|
||||
<member name="T:DataClient.NETClient.Code">
|
||||
<summary>Коды для работы с СТП.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.version">
|
||||
<summary>Версия.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.download">
|
||||
<summary>Загрузка.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.pasp_download">
|
||||
<summary>Загрузка паспорта.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.server_time">
|
||||
<summary>Время сервера.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.keep_alive">
|
||||
<summary>Оставаться на связи.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.download_nh">
|
||||
<summary>Загрузка (nh).</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.dir_browse">
|
||||
<summary>Структура директории.</summary>
|
||||
</member>
|
||||
<member name="F:DataClient.NETClient.Code.by_name">
|
||||
<summary>Поиск команды по имени.</summary>
|
||||
</member>
|
||||
<member name="P:DataClient.NETClient.Ip">
|
||||
<summary>IP адрес СТП.</summary>
|
||||
</member>
|
||||
@@ -32,8 +59,8 @@
|
||||
<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">
|
||||
<member name="M:DataClient.NETClient.ReceiveBytesFull(System.Net.Sockets.NetworkStream)">
|
||||
<summary>Получение неопределенного количество байт с сервера. Количество ограничено максимальным значением типа UInt.</summary><param name="ns">Открытый сетевой поток.</param><returns>Массив байт.</returns><exception cref="T:System.InvalidOperationException">
|
||||
Соединение с сервером закрыто.
|
||||
</exception><exception cref="T:System.IO.IOException">
|
||||
Стрим недоступен для Чтения.
|
||||
@@ -41,8 +68,8 @@
|
||||
Сервер сбросил соединение.
|
||||
</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">
|
||||
<member name="M:DataClient.NETClient.ReceiveBytesFixSize(System.Net.Sockets.NetworkStream,System.UInt32)">
|
||||
<summary>Получение определенного количество байт с сервера.</summary><param name="ns">Открытый сетевой поток.</param><param name="size">Кол-во получаемых байт.</param><returns>Массив байт. Может быть меньше заданного количества.</returns><exception cref="T:System.ArgumentException">
|
||||
Размер байт не должен равняться нулю.
|
||||
</exception><exception cref="T:System.IO.IOException">
|
||||
Стрим недоступен для записи.
|
||||
@@ -144,6 +171,36 @@
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:DataClient.NETClient.Full_Server_Time">
|
||||
<summary>Получение текущее время на сервере.</summary><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_Version">
|
||||
<summary>Получение текущую версию сервера.</summary><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_Keep_Alive">
|
||||
<summary>Отправка команды для поддержания соединения.</summary><remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks><exception cref="T:System.IO.IOException">
|
||||
Предыдущий запрос не закончен.
|
||||
Поток недоступен для записи.
|
||||
</exception><exception cref="T:System.InvalidOperationException">
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="T:DataClient.STPClient">
|
||||
<summary>
|
||||
Класс для связи с СТП. Содержит все инструменты, для получения данных.
|
||||
|
Binary file not shown.
@@ -1,24 +1,25 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {}
|
||||
"D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {
|
||||
"D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {
|
||||
"version": "0.0.3",
|
||||
"restore": {
|
||||
"projectUniqueName": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectUniqueName": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectName": "DataClient",
|
||||
"projectPath": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
|
||||
"outputPath": "F:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
|
||||
"projectPath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"packagesPath": "C:\\Users\\google\\.nuget\\packages\\",
|
||||
"outputPath": "D:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\",
|
||||
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
|
||||
@@ -74,7 +75,7 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.300\\RuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.201\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -5,14 +5,15 @@
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Admin\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\</NuGetPackageFolders>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\google\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.10.0</NuGetToolVersion>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.9.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\Admin\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Users\google\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft\Xamarin\NuGet\" />
|
||||
<SourceRoot Include="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -361,25 +361,27 @@
|
||||
]
|
||||
},
|
||||
"packageFolders": {
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\": {},
|
||||
"C:\\Users\\google\\.nuget\\packages\\": {},
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {},
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {}
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {},
|
||||
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "0.0.3",
|
||||
"restore": {
|
||||
"projectUniqueName": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectUniqueName": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectName": "DataClient",
|
||||
"projectPath": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
|
||||
"outputPath": "F:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
|
||||
"projectPath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"packagesPath": "C:\\Users\\google\\.nuget\\packages\\",
|
||||
"outputPath": "D:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\",
|
||||
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
|
||||
@@ -435,7 +437,7 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.300\\RuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.201\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "lCVOnkDSpCDkY6mFU39PPTK/8UioIwkzLSm5l9U0BI9kmvrQU3GBEeKlZLkvo3I3Vmgv8BfwOMFxbII4ikrnzA==",
|
||||
"dgSpecHash": "fLzCMyL0TTYR6ScHYw8lseE4tuHRjlfRhsrbzgdqw/qeVRrQYigyT797G0cUiPOmrt1GVD0KWz3n3AZIE22bzQ==",
|
||||
"success": true,
|
||||
"projectFilePath": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectFilePath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\5.0.0\\microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\5.0.0\\microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.logging\\5.0.0\\microsoft.extensions.logging.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\5.0.0\\microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.options\\5.0.0\\microsoft.extensions.options.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.primitives\\5.0.0\\microsoft.extensions.primitives.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\nlog\\4.7.10\\nlog.4.7.10.nupkg.sha512",
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\nlog.extensions.logging\\1.7.2\\nlog.extensions.logging.1.7.2.nupkg.sha512"
|
||||
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\5.0.0\\microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\5.0.0\\microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.logging\\5.0.0\\microsoft.extensions.logging.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\5.0.0\\microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.options\\5.0.0\\microsoft.extensions.options.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.primitives\\5.0.0\\microsoft.extensions.primitives.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\google\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512",
|
||||
"C:\\Users\\google\\.nuget\\packages\\nlog\\4.7.10\\nlog.4.7.10.nupkg.sha512",
|
||||
"C:\\Users\\google\\.nuget\\packages\\nlog.extensions.logging\\1.7.2\\nlog.extensions.logging.1.7.2.nupkg.sha512"
|
||||
],
|
||||
"logs": []
|
||||
}
|
Reference in New Issue
Block a user