Ahoj,
mám Csharpovou aplikaci u x klientů, potřebuji aby mi tato aplikace začala pravidelně zasílat nějaké reporty a naopak aby dostávala nějaká data od serveru. Napadlo mě použít například netcat a příchozí připojení posílat do připraveného scriptu, co se mi na tom ale moc nelíbí je, že by se neustále navazovala a rušila nová spojení, napadá někoho elegentnější řešení, jak toto vyřešit? Říkal jsem si že by bylo hezké, kdyby zůstal mezi aplikací a shellem nějaký tunel, kde bych zaslal buď z apky report, nebo by naopak apka něco dostala, ale v tomto případě bych potřeboval odkázat na nějakou technologii. Děkuji. :)
PS: Jde mi o to, jak to vyřešit co nejelegantněji, na koleni si to splácám za chvíli z čehokoliv, ale nechtěl bych vytvořit prasárnu.
tie reporty posles aj zpoza natu normalne cez tcp
to dorucenie zo serveru moze byt mensi problem spravit elegantne
pokial vies vopred kedy to bude mozes im poslat cas a oni si to stiahnu
pokial nevies kedy su za natom a chces mat dobru odozvu skus dve spojenia a striedat ich ako to robi sip.
na to bud nejaky long polling, alebo server drzi spojenie a zavretim signalizuje nove data.
pokial si myslel tu eleganciu ako v com to implementovat tak kludne v csharp nie? nerozumiem sockety su vsade nie
Kdysi si jsem neco takovyho udelal v Perlu. V Perlu se velice snadno delaji prototypy WSDL aplikaci. Staci vytvorit nejakou tridu. Pak k tomu pridas cca 4 radky kodu a tim z toho udelas web-service i s http serverem. Pak to spustis jako daemon a volas ze C#.
Naopak je to jeste jednodussi. V Perlu nactes WSDL soubor a prohlasis: "Tohle WSDL je trida", pak jen vytvoris instanci te tridy a volas jeji metody.
Citace od: Jimm kdy 23. 09. 2014, 21:28:12
... ale nechtěl bych vytvořit prasárnu.
Resenim techto veci se rika 'messaging' a je uz jen na tobe, co k tomu vyuzijes. Ja preferuji ZeroMQ, nicmene reseni s brokerama ti muze vyhovovat vice.