home work
This commit is contained in:
@@ -96,6 +96,9 @@
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</m>
|
||||
<m n="NETClient0">
|
||||
<summary>Класс для связи с СТП сервером по проботоколу TCP.</summary>
|
||||
</m>
|
||||
<m n="NETClient1">
|
||||
<summary>Основной конструктор класса NetClient. Ip-адрес - 127.0.0.1; Порт - 1070;</summary>
|
||||
</m>
|
||||
@@ -203,7 +206,6 @@
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</m>
|
||||
|
||||
<m n="Full_Dir_Browse">
|
||||
<summary>Получение структуры файлов и папок в запрашиваемой директории.</summary>
|
||||
<param name="dir">Путь, структуру которого надо отобразить.</param>
|
||||
@@ -221,19 +223,50 @@
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</m>
|
||||
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
<m n="Full_Server_Time">
|
||||
<summary>Получение текущее время на сервере.</summary>
|
||||
<remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks>
|
||||
<returns>Текущее время на сервере.</returns>
|
||||
<exception cref="ArgumentException">
|
||||
Неверный флаг окончания строки.
|
||||
Неверный флаг во время получения файла.
|
||||
</exception>
|
||||
<exception cref="IOException">
|
||||
Предыдущий запрос не закончен.
|
||||
Поток недоступен для записи.
|
||||
</exception>
|
||||
<exception cref="InvalidOperationException">
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</m>
|
||||
<m n="Full_Version">
|
||||
<summary>Получение текущую версию сервера.</summary>
|
||||
<remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks>
|
||||
<returns>строку с названием версии сервера.</returns>
|
||||
<exception cref="ArgumentException">
|
||||
Неверный флаг окончания строки.
|
||||
Неверный флаг во время получения файла.
|
||||
</exception>
|
||||
<exception cref="IOException">
|
||||
Предыдущий запрос не закончен.
|
||||
Поток недоступен для записи.
|
||||
</exception>
|
||||
<exception cref="InvalidOperationException">
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</m>
|
||||
<m n="Full_Keep_Alive">
|
||||
<summary>Отправка команды для поддержания соединения.</summary>
|
||||
<remarks>Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.</remarks>
|
||||
<exception cref="IOException">
|
||||
Предыдущий запрос не закончен.
|
||||
Поток недоступен для записи.
|
||||
</exception>
|
||||
<exception cref="InvalidOperationException">
|
||||
Не получилось соединиться с сервером.
|
||||
</exception>
|
||||
</m>
|
||||
|
||||
<m n=""></m>
|
||||
<m n=""></m>
|
||||
</NET>
|
||||
|
@@ -11,6 +11,7 @@ using System.IO;
|
||||
|
||||
namespace DataClient
|
||||
{
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="NETClient0"]/*' />
|
||||
public class NETClient
|
||||
{
|
||||
private Logger log = LogManager.GetCurrentClassLogger();
|
||||
@@ -32,17 +33,16 @@ namespace DataClient
|
||||
}
|
||||
private NetStatus stat = new NetStatus();
|
||||
/*
|
||||
0x00 0x00 0x00 0x00 - 0000 - version
|
||||
|
||||
0x01 0x00 0x00 0x00 - 0001 - file list
|
||||
0x03 0x00 0x00 0x00 - 0003 - pasp browse
|
||||
0x04 0x00 0x00 0x00 - 0004 - pasp download
|
||||
0x05 0x00 0x00 0x00 - 0005 - pasp find
|
||||
0x06 0x00 0x00 0x00 - 0006 - prog list
|
||||
0x07 0x00 0x00 0x00 - 0007 - prog download
|
||||
|
||||
0x09 0x00 0x00 0x00 - 0009 - download usov
|
||||
0x0A 0x00 0x00 0x00 - 0010 - slit history
|
||||
0x0B 0x00 0x00 0x00 - 0011 - keep alive
|
||||
|
||||
- vdp cycle
|
||||
- vdp active
|
||||
- vdp last cycle
|
||||
@@ -110,23 +110,32 @@ namespace DataClient
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="Code"]/*' />
|
||||
public enum Code : uint
|
||||
{
|
||||
/// <summary>Версия.</summary>
|
||||
version = 0,
|
||||
/// <summary>Загрузка.</summary>
|
||||
download = 2,
|
||||
/// <summary>Загрузка паспорта.</summary>
|
||||
pasp_download = 4,
|
||||
/// <summary>Время сервера.</summary>
|
||||
server_time = 8,
|
||||
/// <summary>Оставаться на связи.</summary>
|
||||
keep_alive = 11,
|
||||
/// <summary>Загрузка (nh).</summary>
|
||||
download_nh = 21,
|
||||
/// <summary>Структура директории.</summary>
|
||||
dir_browse = 23,
|
||||
/// <summary>Поиск команды по имени.</summary>
|
||||
by_name = uint.MaxValue,
|
||||
|
||||
TCP_COM_VERSION = 0,
|
||||
TCP_COM_FILE_LIST = 1,
|
||||
TCP_COM_PASP_BROWSE = 3,
|
||||
TCP_COM_PASP_DOWNLOAD = 4,
|
||||
TCP_COM_PASP_FIND = 5,
|
||||
TCP_COM_PROG_LIST = 6,
|
||||
TCP_COM_PROG_DOWNLOAD = 7,
|
||||
|
||||
TCP_COM_DOWNLOAD_USOV = 9,
|
||||
TCP_COM_SLIT_HISTORY = 10,
|
||||
TCP_COM_KEEP_ALIVE = 11,
|
||||
|
||||
TCP_COM_VDP_CYCLE = 12,
|
||||
TCP_COM_VDP_ACTIVE = 13,
|
||||
TCP_COM_VDP_LAST_CYCLE = 14,
|
||||
@@ -481,7 +490,7 @@ namespace DataClient
|
||||
finally { My_Close(needCloseConeection); }
|
||||
return res?.ToArray();
|
||||
}
|
||||
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="Full_Server_Time"]/*' />
|
||||
public DateTime Full_Server_Time()
|
||||
{
|
||||
bool needCloseConeection = false;
|
||||
@@ -505,6 +514,58 @@ namespace DataClient
|
||||
finally { My_Close(needCloseConeection); }
|
||||
return new DateTime(year, month, day, hour, minute, second);
|
||||
}
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="Full_Version"]/*' />
|
||||
public string Full_Version()
|
||||
{
|
||||
bool needCloseConeection = false;
|
||||
try { needCloseConeection = My_Connect(); }
|
||||
catch { My_Close(needCloseConeection); throw; }
|
||||
|
||||
try { if (!SendBytes(CreateCode((uint)Code.version))) throw new IOException("Can't send bytes to server."); }
|
||||
catch { My_Close(needCloseConeection); throw; }
|
||||
string str = null;
|
||||
try
|
||||
{
|
||||
str = enc.GetString(ReceiveBytes(BitConverter.ToUInt32(ReceiveBytes(4))));
|
||||
if (ReceiveBytes(1)[0] != 0x00) throw new ArgumentException("Wrong get end line.");
|
||||
}
|
||||
catch { My_Close(needCloseConeection); throw; }
|
||||
finally { My_Close(needCloseConeection); }
|
||||
return str;
|
||||
}
|
||||
/// <include file='DataClientSrc.xml' path='docs/NET/m[@n="Full_Keep_Alive"]/*' />
|
||||
public void Full_Keep_Alive()
|
||||
{
|
||||
bool needCloseConeection = false;
|
||||
try { needCloseConeection = My_Connect(); }
|
||||
catch { My_Close(needCloseConeection); throw; }
|
||||
|
||||
try { if (!SendBytes(CreateCode((uint)Code.keep_alive))) throw new IOException("Can't send bytes to server."); }
|
||||
catch { My_Close(needCloseConeection); throw; }
|
||||
My_Close(needCloseConeection);
|
||||
}
|
||||
|
||||
public byte[] Full_Pasp_Download(string file)
|
||||
{
|
||||
if (string.IsNullOrEmpty(file)) throw new ArgumentException("Path to file can't be null or empty.");
|
||||
|
||||
bool needCloseConeection = false;
|
||||
try { needCloseConeection = My_Connect(); }
|
||||
catch { My_Close(needCloseConeection); throw; }
|
||||
|
||||
try { if (!SendBytes(CreateCode((uint)Code.pasp_download, file))) throw new IOException("Can't send bytes to server."); }
|
||||
catch { My_Close(needCloseConeection); throw; }
|
||||
byte[] res = null;
|
||||
try
|
||||
{
|
||||
res = ReceiveBytes();
|
||||
}
|
||||
catch { My_Close(needCloseConeection); throw; }
|
||||
finally { My_Close(needCloseConeection); }
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -1,25 +1,24 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {}
|
||||
"F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {
|
||||
"F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {
|
||||
"version": "0.0.3",
|
||||
"restore": {
|
||||
"projectUniqueName": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectUniqueName": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectName": "DataClient",
|
||||
"projectPath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"packagesPath": "C:\\Users\\google\\.nuget\\packages\\",
|
||||
"outputPath": "D:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
|
||||
"projectPath": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
|
||||
"outputPath": "F:\\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\\dotnet\\sdk\\NuGetFallbackFolder"
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Users\\Admin\\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"
|
||||
@@ -75,7 +74,7 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.201\\RuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.300\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -5,15 +5,14 @@
|
||||
<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\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>
|
||||
<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>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.9.0</NuGetToolVersion>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.10.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\google\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Users\Admin\.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.
@@ -361,27 +361,25 @@
|
||||
]
|
||||
},
|
||||
"packageFolders": {
|
||||
"C:\\Users\\google\\.nuget\\packages\\": {},
|
||||
"C:\\Users\\Admin\\.nuget\\packages\\": {},
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {},
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {},
|
||||
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "0.0.3",
|
||||
"restore": {
|
||||
"projectUniqueName": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectUniqueName": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectName": "DataClient",
|
||||
"projectPath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"packagesPath": "C:\\Users\\google\\.nuget\\packages\\",
|
||||
"outputPath": "D:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
|
||||
"projectPath": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
|
||||
"outputPath": "F:\\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\\dotnet\\sdk\\NuGetFallbackFolder"
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Users\\Admin\\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"
|
||||
@@ -437,7 +435,7 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.201\\RuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.300\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "fLzCMyL0TTYR6ScHYw8lseE4tuHRjlfRhsrbzgdqw/qeVRrQYigyT797G0cUiPOmrt1GVD0KWz3n3AZIE22bzQ==",
|
||||
"dgSpecHash": "lCVOnkDSpCDkY6mFU39PPTK/8UioIwkzLSm5l9U0BI9kmvrQU3GBEeKlZLkvo3I3Vmgv8BfwOMFxbII4ikrnzA==",
|
||||
"success": true,
|
||||
"projectFilePath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"projectFilePath": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"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"
|
||||
"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"
|
||||
],
|
||||
"logs": []
|
||||
}
|
Reference in New Issue
Block a user