//INSTANT C# TODO TASK: This method is a constructor, but no class name was found: public ReaderWriterCommand(Form inParentForm, string inPathРесурсы, bool inIsServer, int inCountClientOrNumberClient, string inServerWorkingFolder, string inClientWorkingFolder, Action <string, int, MessageBoxIcon> inAction) { mParentForm = inParentForm; IsServer = inIsServer; CountClientOrNumberClient = inCountClientOrNumberClient; if (IsServer) { // образец: "\\006-stend21\System\doublearray" ' "\\localhost\system\doublearray" //sendAddressURL = "\\localhost\system\task1" ' было "dstp://localhost/task1" ServerName = GetReceiveAddressURL(inClientWorkingFolder); // Клиент Рабочий Каталог Caption = SERVER; } else // клиент' просмотр снимка { //sendAddressURL = "\\localhost\system\task2" // только для случая при запуске просмотра снимков if (inServerWorkingFolder == null) { inServerWorkingFolder = inClientWorkingFolder; } ServerName = GetReceiveAddressURL(inServerWorkingFolder); // Server Рабочий Каталог Caption = "Клиент"; } // надо считать из конфигурационного файла или ещё как-то создать ManagerAllTargets = new ManagerTargets(this); if (ManagerAllTargets.LoadTargets() && ManagerAllTargets.Count == 0) { ManagerAllTargets = null; MessageBox.Show("Отсутствуют Клиент-Серверные задачи.", "Создание задач Клиент-Серверного обмена", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //mTasksReceiveManager = New ManagerTaskApplication(inPathРесурсы) mTasksSendManager = new ManagerTaskApplication(inPathРесурсы); AppendMethod = inAction; CreateCollectionReceiverSender(); AddHandlerDataUpdatedWriteCompleted(); AddHandlerDataUpdatedWriteCompleted(); aTimer = new System.Timers.Timer(TIMER_INTERVAL); aTimer.Elapsed += OnTimedEvent; aTimer.Enabled = true; //For Each itemTarget As Target In ManagerAllTargets.Targets.Values // itemTarget.RunListenAsync() // ' послать на очистку после подключения какого-либо клиента // SendRequestProgrammed(itemTarget, "Очистка линии") //Next }
private bool isRunListen = true; // бесконечный цикл прослушивания нового соединения для получения команды public Target(string inHostName, ManagerTargets inParrentManagerTargets, string inNamePiepListen, string inNamePiepSend) { HostName = inHostName; ParrentManagerTargets = inParrentManagerTargets; NamePiepListen = inNamePiepListen; NamePiepSend = inNamePiepSend; // сформировать сетевые адреса для сетевых команд URLReceiveLocation = NamePiepListen; URLSendLocation = $"\\\\{inParrentManagerTargets.ParrentReaderWriterCommand.ServerName}\\pipe\\{NamePiepSend}"; PipeServerStatus = "Listening - OK"; // TextBoxSendStatus.Text CommandWriterQueue = new Queue <NetCommandForTask>(CAPACITY); InitializeCollections(); myPipeClientServer = new PipeClientServer(inNamePiepListen, inNamePiepSend, inParrentManagerTargets.ParrentReaderWriterCommand.ServerName); ConfigSend = new XMLConfigCommand(WhoIsUpdate.DataView); ConfigReceive = new XMLConfigCommand(WhoIsUpdate.DataView); SubscribeToEvents(); }