Csharp a Linux: obousměrné spojení

Jimm

Csharp a Linux: obousměrné spojení
« kdy: 23. 09. 2014, 21:28:12 »
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.
« Poslední změna: 24. 09. 2014, 07:55:54 od Petr Krčmář »


slonik

Re:Csharp<->Linux obousměrné spojení
« Odpověď #1 kdy: 23. 09. 2014, 21:54:10 »
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

Ivan

Re:Csharp a Linux: obousměrné spojení
« Odpověď #2 kdy: 24. 09. 2014, 11:22:02 »
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.

and

Re:Csharp a Linux: obousměrné spojení
« Odpověď #3 kdy: 24. 09. 2014, 13:39:57 »
... 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.