Diskuze: Dobrý licence manager, obfuscator a server
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Skus Azure functions. https://docs.microsoft.com/…isual-studio
Ak si to tvoje UdelejNecoNaServeruAVratVysledek(1,2); vystaci s 1,5 GB RAM a
bude to bezat v rozumnych intervaloch tak ta to nevyjde draho.
A nemůžeš jít tou cestou, že se vykašleš na blbosti, které jsou absolutně k ničemu a namísto toho, budeš mít klíčovou funkcionalitu na serveru? pak bys nepotřeboval ani žádný hloupý licence manager.. prostě checkneš klíč na serveru v DB.
obsfucator
Co třeba Code Virtualizer (nevidím tu nikde jazyk té klientksé aplikace,
takže to možná nebude C/C++ ?
https://oreans.com/…tualizer.php
Martin: klíčová funkcionalita bude na serveru, ty nejdůležitější výpočty a bude to kontrolovat licenci
Dejme tomu, že licenci mám hotovou a obfuscating taky....
Nějáké tipy na to, jak to udělat?
Šlo by pravděpodobně o C# server (takže dražší varianta), pokud by ta třída nešla odeslat nějak jinak třeba jako binary a potom složit do javy, nebo něco v tomto smyslu, nebo přes nějaký convertor projet.
Potřebuji tedy, jak jsem již psal:
foreach
{
a = 1;
b = 2;
c = UdelejNecoNaServeruAVratVysledek(1,2);
}
NA SERVERU
otevřít konzoli aplikaceu mě zajištuje třída
ConsoleCommunicationLiveInterface a udělat nějáké analýzy, výsledky
vrátit do mého softu
//Naplni hand spravnymi hodnotami a odesle je do kolekce
foreach (HA hand in handsList)
{
hand.A = GetA();
hand.B = GetB();
//atd...
//Tento blok potřebuji přesunout na server i s aplikací, ze které čte a analyzuje data ccli
//mimo foreach blok, tady by museli byt samozřejmě cesty k souboru na serveru:
//ConsoleCommunicationLiveInterface ccli = new ConsoleCommunicationLiveInterface(
//@"C:\Program Files (x86)\Aplikace\app.exe",
//@"C:\Program Files (x86)\Aplikace\", true, "xxx",
//"ERROR: Command xxx not recognized");
//ccli.OpenConnection();
//ConsoleCommunicationLiveInterface ccli2 = new ConsoleCommunicationLiveInterface(
//@"C:\Program Files (x86)\Aplikace\app2.exe",
//@"C:\Program Files (x86)\Aplikace\", true, "xxx",
//"ERROR: Command xxx not recognized");
//ccli2.OpenConnection();
//Here we have to send right ccli
ConsoleCommunicationLiveInterface ccliTemp = CheckSolution.IsForPrePi(
hand.PreAct, hand.PreBb)
? ccli2
: ccli;
//Calculate the flop strategies based on 35GB data,
PiAnFl piAnFl = new PiAnFl(hand, ccliTemp);
hand.Fha = piAnFl.GetFlStrategies();
//List<HA> list
list.add(hand)
}
Ten blok by měl být na serveru s tím, že by vracel hand.Fha, těch 35GB dat nechci nechávat v PC uživatelů z důvodu, že jsou to celkem cenná data a nemůžu je nutit stahovat 35GB.
Jestli má někdo nějakej nápad, jak to udělat, tak bych byl vděčnej, já s tímto nemám žádnou zkušnost a klidně bych za řešení i zaplatil, chápu, že to nebude jednoduché...
Mně právě není moc jasné, kde máš přesně problém. Jestli je to v komunikaci klientské části se serverem, tam máš několik možností:
Pokud chceš nějak vyřešit licence, jednoduché řešení by mohlo být asi takovéto:
jakozto webař bych doporučil na straně serveru wcf rest api service a nebo novejsi asp.net web api
priklad ke konzumaci asp.net web api v .net klientovi
https://docs.microsoft.com/…a-net-client
priklad ke konzumaci wcf res api service ve wpf aplikaci
http://www.c-sharpcorner.com/…application/
budes tak mit automaticky postarano o serializaci i deserializaci posilanych/prijimanych dat na klientu i serveru
nekdo tu uz aj radil misto .NET klienta mit jen ASP.NET server a klienta v podobe stranek
ale pochopil jsem, ze uz mas klientskou aplikaci hotovou, takze webovou aplikaci radit nebudu
Díky moc za vaše komenty, ale situace se změnila trošku a já vím specifičtěji o co jde
135GB budou soubory, které musí ležet někde na serveru + rozhrani, ktere bude komunikovat s aplikací na desktopu Cele C#... Nebude to muset spouštět nic nainstalovanýho, jen se to připojí a vyhledá soubor, zakoduje a odesle zpět do aplikace.
Nějáký tip na něco levnějšího kde by mohl být hosting? a nějak tak nástin, jak si s tím poradit? Pravděpodobně asi ten remoting bude nejlepší ne?
Pokud oboje bude v C#, tak by .NET remoting mohl být ta správá volba (ušetříš tím něco psaní komunikačního rozhraní mezi serverem a aplikací).
O hostingu (natož levném) na tyhle věci nevím. Pokud by se ten server dal rozjet v Monu (nevím, zda .NET Core umí RPC, popř. jak složité je ho rozjet na Linuxu), tak v podstatě jen hledáš server s dostatečně velkým diskem. V tomto ohledu by skoro stačil VPSFree (300,- / měsíc, 8xCPU, 4 GB RAM, 120 GB HDD), určitě by se s nimi dalo dohodnout na vyšší kapacitě disku (popř. krom 120 GB HDD dovolují využít snad až 250 GB na NAS úložišti).
ALe je dost možné, že bude existovat nějaká lepší varianta.
díky moc za všechny tipy
Naučil jsem se WCF a ASP WEB API, je to nejnovější platformy a ostatní věci, jako .NET Remoting jsou celkem oldschool a z toho co jsem se dočetl se je nema ani smysl ucit, tak jsem si přečetl o remotingu jen nějáké základy ...
Zobrazeno 14 zpráv z 14.