home work
This commit is contained in:
@@ -71,7 +71,9 @@ namespace DataClient
|
||||
|
||||
//Work with socket functions
|
||||
/// <summary>Получить неизвестное количество байт.</summary>
|
||||
/// <param name="socket">Открытый сетевой поток.</param>
|
||||
/// <param name="ns">Открытый сетевой поток.</param>
|
||||
/// <param name="awaitInterval">Время ожидания между проверккми буфера.</param>
|
||||
/// <param name="tryCounts">Количество проверок буфера.</param>
|
||||
/// <returns>Массив байт.</returns>
|
||||
private byte[] ReceiveBytesUnknown(NetworkStream ns, int awaitInterval = 1, int tryCounts = 3)
|
||||
{
|
||||
@@ -131,6 +133,18 @@ namespace DataClient
|
||||
} while (tryCount < tryCounts);
|
||||
throw new Exception("Can't get all bytes.");
|
||||
}
|
||||
/// <summary>Отправить массив байт на СТП.</summary>
|
||||
/// <param name="ns">Открытый сетевой поток.</param>
|
||||
/// <param name="arr">Массив байт.</param>
|
||||
/// <returns>Результат отправки.</returns>
|
||||
private bool SendBytes(NetworkStream ns, byte[] arr)
|
||||
{
|
||||
if (!ns.CanWrite) throw new Exception("NetworkStream not access to Write.");
|
||||
if (!ns.Socket.Connected) throw new Exception("NetworkStream not connected to server.");
|
||||
try { ns.Write(arr, 0, arr.Length); }
|
||||
catch { return false; }
|
||||
return true;
|
||||
}
|
||||
|
||||
//Support functions
|
||||
/// <summary>Формирование массива байт на отправку.</summary>
|
||||
@@ -145,7 +159,7 @@ namespace DataClient
|
||||
res.AddRange(BitConverter.GetBytes(code));
|
||||
if (prefix != null)
|
||||
res.AddRange(prefix);
|
||||
if(val != null)
|
||||
if (val != null)
|
||||
{
|
||||
res.AddRange(BitConverter.GetBytes((uint)val.Length));
|
||||
res.AddRange(enc.GetBytes(val));
|
||||
@@ -185,10 +199,10 @@ namespace DataClient
|
||||
{
|
||||
if (!Connected()) throw new Exception("Connection not exist.");
|
||||
var ns = tcpC.GetStream();
|
||||
if (!ns.CanWrite) throw new Exception("NetworkStream not access to Write.");
|
||||
if (!ns.Socket.Connected) throw new Exception("NetworkStream not connected to server.");
|
||||
ns.Write(send, 0, send.Length);
|
||||
SendBytes(ns, send);
|
||||
}
|
||||
/// <summary>Получить неизвестное количество байт.</summary>
|
||||
/// <returns>Массив байт.</returns>
|
||||
public byte[] ReceiveBytes()
|
||||
{
|
||||
var res = new List<byte>();
|
||||
@@ -197,6 +211,9 @@ namespace DataClient
|
||||
res.AddRange(ReceiveBytesUnknown(ns));
|
||||
return res.ToArray();
|
||||
}
|
||||
/// <summary>Получить определенное количество байт.</summary>
|
||||
/// <param name="size">Количество байт.</param>
|
||||
/// <returns>Массив байт.</returns>
|
||||
public byte[] ReceiveBytes(int size)
|
||||
{
|
||||
var res = new List<byte>();
|
||||
@@ -205,7 +222,6 @@ namespace DataClient
|
||||
res.AddRange(ReceiveBytesFixSize(ns, size));
|
||||
return res.ToArray();
|
||||
}
|
||||
|
||||
/// <summary>Получение файла данных (байтами) с СТП.</summary>
|
||||
/// <param name="date">Дата. Из неё формируется строка в формате YYYMMDD</param>
|
||||
/// <param name="vdp">Номер печи. 00 - общецеховые параметры.</param>
|
||||
@@ -213,11 +229,14 @@ namespace DataClient
|
||||
/// <returns>Обработанный массив байт.</returns>
|
||||
public byte[] GetFile(DateTime date, int vdp, int idx)
|
||||
{
|
||||
if (!Connected()) throw new Exception("Connection not exist.");
|
||||
var res = new List<byte>();
|
||||
bool flag_connection = !Connected();
|
||||
if (!Connected()) Connect();
|
||||
if (!Connected()) throw new Exception("Can't create connection.");
|
||||
var str = date.ToString("yyyyMMdd") + vdp.ToString("D2") + (idx % 16).ToString("X1");
|
||||
|
||||
return res.ToArray();
|
||||
SendBytes(CreateCode((uint)Code.download_nh, null, str));
|
||||
var res = ReceiveBytes();
|
||||
if (flag_connection) Close();
|
||||
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.
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