Суть в том что как я понимаю "общаются" панель и контроллер между собой по своему протоколу PROFINET IO. Но там ведь тоже есть ip адреса?не факт. см https://ru.wikipedia.org/wiki/PROFINET
В PROFINET, существует две перспективы PROFINET CBA и PROFINET IO. PROFINET CBA подходит для компонентов на основе связи через TCP / IP, а PROFINET IO используется для общения в режиме реального времени с требованиями в модульных инженерных системах. Обе коммуникационные возможности можно использовать параллельно.навевают мне мысли, что ваши предположения могут быть не верны в корне
192.168.0.102локальный ip, и не может быть доступен на прямую вне пределов сети вашего роутера. начальный либез тут https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D... и тут https://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%BA%D...
Для чего все это нужно? - снизить количество циклов записи на ssd примерно на 0.000001%из личных наблюдений и отчетов утилит производителей:
Я уже шапочку из фольги надел и кэш перенес на жесткий диск, и файл подкачки, и временные папки)
linux mint 19.1а так же другие на свежих ядрах, "из коробки" прекрасно работают с NTFS. это самое простое решение. а вот с ext2fs лучше не связывайтесь:
int[,] a = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
bool s = true;
for (int i = 0; i < a.GetLength(0) && s; ++i)
for (int j = 0; j < a.GetLength(1) && s; ++j)
s &= a[i, j] == a[j, i];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
int[,] a = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
bool s = true;
for (int i = 0; i < a.GetLength(0) && s; ++i)
for (int j = 0; j < a.GetLength(1) && s; ++j)
s = a[i, j] == a[j, i];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
using System;
namespace simm_array
{
class Program
{
static void Main(string[] args)
{
var m = new int[,] { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
var w = m.GetLength(0);
var h = m.GetLength(1);
var s = w == h;
for (var x = 0; x < w && s; ++x)
for (var y = x; y < h && s; ++y)
s = m[x, y] == m[y, x];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
}
}
}
using System;
namespace simm_array
{
class Program
{
static void Main(string[] args)
{
var m = new int[,] { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
var w = m.GetLength(0);
var h = m.GetLength(1);
var s = w == h;
for (var x = 0; x < w && s; ++x)
for (var y = x + 1; y < h && s; ++y)
s = m[x, y] == m[y, x];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
}
}
}
using System;
namespace simm_array
{
static class Program
{
static void Main(string[] args)
{
var m = new int[,] { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
m.dump();
m.isSymmetrical().report();
}
static bool isSymmetrical(this int[,] m)
{
var w = m.GetLength(0);
var h = m.GetLength(1);
var s = w == h;
for (var x = 0; x < w && s; x++)
for (var y = x + 1; y < h && s; y++)
s = m[x, y] == m[y, x];
return s;
}
static void dump(this int[,] m)
{
var w = m.GetLength(0);
var h = m.GetLength(1);
for (var x = 0; x < w; x++)
{
for (var y = 0; y < h; y++)
{
Console.Write($"\t{m[x, y]}");
}
Console.WriteLine();
}
Console.WriteLine();
}
static void report(this bool s) => Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
}
}
int n = pictureBox1.Height; // n строк изображения, m столбцов
int m = n;
да ну ладно... ?!!!!!!!!!... почему неint n = pictureBox1.Height; // n строк изображения, m столбцов
int m = pictureBox1.Width;
откуда вы знаете, что там точный квадрат?.. но это мелочи на фоне остальногоstruct complex //комплексное число
{
public float Re;
public float Im;
}
и furie[u][v].Re = ...
furie[u][v].Im = ...
ну тогда и пишитеvar furie = new complex[...
furie[u][v].Re = ...
furie[u][v].Im = ...
for (u = 0; u < 20; u++)
for (v = 0; v < 20; v++)
var furie = new complex[20,20];
так или не так- это как раз вам и решать. для этого надо читать, что там в ядрах меняли? и важно ли это для вас?
удалять или нет?- см п1. если хотите, оставить возможность отката на предыдущее ядро - таки не удаляйте. в противном случае - освобождайте дисковое место для нового. все просто
Мы подумали про SignalR но так как участники чата не в одном платформе как то использования этой библиотеки будет не правильнос чего вдруг?
Или не стоитда
ибо контроллер не будет делать запись..туда, куда вы думаете. контроллеры флешей и ссд очень себе на уме (тема обдолбана в сети с ног до головы) они динамически перераспределяют реальные блоки ячеек, логическим адресным блокам. это делается с целью выравнивания "износа". при этом алгоритмы прошивок сами содержат баги
не будет делать запись на плохо читаемый блокбудет. именно в этот момент ошибки и случаются. в противном случае не было бы этой проблемы с данной флешкой
G
using System;
using System.IO;
namespace t_text_read_and_parsing
{
class Program
{
static void Main(string[] args)
{
var lines = File.ReadAllLines("text.txt");
foreach (var l in lines)
{
var tokens = l.Split(' ');
if (int.TryParse(tokens[0], out var a) && int.TryParse(tokens[1], out var b))
Console.WriteLine($"\t{a}\t{b}");
}
}
}
}
Делать метод обобщенным - не вариантсамый тот вариант
у обобщенного типа может вызываться только стандартный конструктору методов не бывает конструкторов. они бываю у классов. понятно что ваша проблема в недопонимании, но не понятно чего именно. если бы вы привели пример заголовка (upd а лучше весь метод) обобщенного метода, и указали, в каком месте он не справляется с потребностями - это можно было обсудить. возможно даже сразу показать решение