public static void SendEndOfDocs() { //a müvelet végének elküldése string msg = ReadingMethods.ReadMSG(); SendingOperations.WriteMSG("/ok"); DocsShowClient.InPDF = false; }
//az saját ip cím elküldése static void SendIP() { if (DocsShowClient.ClientIP != "") { SendingOperations.WriteMSG(DocsShowClient.ClientIP); } else { DocsShowClient.ClientIP = FileOperations.GetLocalIPAddress(); SendingOperations.WriteMSG(DocsShowClient.ClientIP); } }
public static void CheckIsValidPDFName(string docsName) { if (docsName == "") { SendInvalidPDFName($"A szerver nem létező doksi nevet küldőtt: \"{docsName}\"!"); } else if (docsName.Contains("#") == true) { SendInvalidPDFName($"A szerver még régebbi verziót használ, frissítsd le a szervert!"); } else { SendingOperations.WriteMSG("/okDocs"); } }
static void SetMaxCikkCount() { string msg = ReadingMethods.ReadMSG(); bool res = int.TryParse(msg, out int maxCikk); if (res) { Datas.MaxCikkCount = maxCikk; } else { Datas.MaxCikkCount = 2; } SendingOperations.WriteMSG("/ok"); }
//egy üzenet kiolvasása és utána válaszolja azt ami az üzenetben van public static string ReadMSG() { string readedMSG = "/non"; byte[] buffer = new byte[DocsShowClient.ClientTCP.ReceiveBufferSize]; DocsShowClient.ClientStream.Read(buffer, 0, buffer.Length); readedMSG = Encoding.UTF8.GetString(buffer).TrimEnd('\0'); if (readedMSG == "") { throw new IOException("A kapcsolat megszakadt a szerverrel ismeretlen hiba által"); } if (readedMSG.Contains("/check")) { readedMSG = readedMSG.Replace("/check", ""); SendingOperations.WriteMSG("/ok"); } if (readedMSG.StartsWith("/")) { string[] datas = readedMSG.Split(' '); try { CommandManager.Manager(datas[0], GetRealParams.GetRealParamsFromRawParams(datas)); } catch (ApplicationException ex) { DocsShowClient.Disconnect(); EndMethodsLibrary.EndMethods.End(ex.Message); } return(readedMSG); } else { return(readedMSG); } }
public static void ManageDocs(string docsName, int i, int monitorIndex, string[] splitter) { //ha nyitva van éppen akkor isopened true ha nem akkor false bool isOpened = GetDatasAndWriteToHDD(docsName); if (isOpened) { //ha nem megfelelő standard van a helyén akkor lecserélés if (DocsShowClient.StandardsForGoodPosition[monitorIndex, i] != docsName) { DocsShowClient.Standards.Add(docsName); //a jó pozició beállítása DocsShowClient.StandardsForGoodPosition[monitorIndex, i] = docsName; //ami épp kint van annak a bezárása ClosingOperations.CloseOneStandard(monitorIndex, i); //és a standard megnyitása Positioning.SplitForOneSide(DocsShowClient.Standards[i], i, monitorIndex, splitter[0], splitter[2]); } else { //ha jó akkor isopened hozzáadása DocsShowClient.Standards.Add("/isOpened"); } //a jó pozició beállítása DocsShowClient.StandardsForGoodPosition[monitorIndex, i] = docsName; } else { //standardokhoz adás DocsShowClient.Standards.Add(docsName); //a jó pozició beállítása DocsShowClient.StandardsForGoodPosition[monitorIndex, i] = docsName; //kiírni hogy melyik fájlt kapta meg Console.WriteLine($"{DateTime.Now.ToString()}:{(i+1)}.fájl: { DocsShowClient.Standards[i] }"); //ami éppen kint van azt bezárni ClosingOperations.CloseOneStandard(monitorIndex, i); //megnyitni a standardot Positioning.SplitForOneSide(DocsShowClient.Standards[i], i, monitorIndex, splitter[0], splitter[2]); } SendingOperations.WriteMSG("/okDoc"); }
//a csatlakozás elvégézése public static void CheckConnection() { string msg = ReadingMethods.ReadMSG(); if (msg == "/okdatas") { //sikeres kapcsolodás Console.WriteLine($"{DateTime.Now.ToString()}:Sikeres kapcsolodás a {Datas.CommandServerIP}:{Datas.CommandPort} doksi kiszolgáló szerverhez"); SendingOperations.WriteMSG("/connected"); } else if (msg == "/inUse") { //a szerverre már felcsatlakoztak ezzel az IPvel throw new SocketException(10048); } else { //a válasz nem volt értelmezhető DocsShowClient.Disconnect(); throw new ApplicationException("A szerver visszautasította az adatok kezelését"); } }
public static int GetMonitorIndex(string[] splitter) { //a monitorindex beállítása, ha érvénytelen az egész újrakezdése int monitorIndex = 0; try { monitorIndex = int.Parse(splitter[1]); } catch (Exception) { SendingOperations.WriteMSG("/InvalidDatas"); throw new ApplicationException($"A szerver érvénytelen adatot küldőtt a monitorszámra: \"{splitter[1]}\"!"); } Console.WriteLine($"{DateTime.Now.ToString()}:Monitorindex: { monitorIndex + 1 } "); //a fejléc adatokat sikeresen megkaptam (a asztalszám,monitorszám,cikkszám) SendingOperations.WriteMSG("/okDatas"); return(monitorIndex); }
public static string[] GetDatasSplitter() { //az alap infók megkapása string msg = ReadingMethods.ReadMSG(); if (msg == "" || msg == "/non") { return(null); } string[] splitter = msg.Split(';'); if (splitter.Length != 3 && splitter[0] != "/non") { SendingOperations.WriteMSG("/InvalidDatas"); throw new ApplicationException($"A szerver nem létező adatokat küldőtt! Az asztalszáma;monitorszáma;cikkszám helyett: \"{msg}\"!"); } DocsShowClient.InPDF = true; return(splitter); }
static void SendInvalidPDFName(string msg) { SendingOperations.WriteMSG("/InvalidDocsName"); throw new ApplicationException(msg); }