2009-05-14 7 views
1

Gibt es eine native Möglichkeit, die Funktionen der Genuine Channels-Komponente (http://www.genuinechannels.com) zu implementieren? Im Wesentlichen bietet es die gleichen Funktionen wie die .net Remoting-Komponente, mit dem einzigen Unterschied, dass .net Remoting unidirektional ist. Ich suche nach etwas, wo ich als Client eine Verbindung zu einem Server herstellen und dann Nachrichten an den Server weiterleiten und dann den Server Nachrichten an den Client weiterleiten lassen könnte (wann immer der Server wollte, ohne dass der Client einen anruft) Funktion).Bidirektionale Kommunikation mit C# TCP-Kanälen

Danke für die Hilfe!

Antwort

1

Sie müssen entweder die Rollen des Clients und des Servers wechseln (d. H. Wer hört und wer schreibt) oder Sie können einen zweiten Socket am selben Port öffnen, um den Server Ihres Clients bereitzustellen. Der Server Ihres Clients ist derjenige, der nach Nachrichten von dem abhört, was Sie den Server nennen, und dann [Ereignisse | Warteschlange | verarbeiten] die Nachrichten, die er empfängt.

3

WCF hat einen bidirektionalen Surport über TCP als Standard.

(Wenn WCF bidirektionale Kanäle über TCP sendet, kann eine Nachricht von einem Ende eine Nachricht vom anderen Ende blockieren. Dies ist aufgrund der Tatsache, dass WCF bidirektionale Kanäle ermöglicht nur beide Enden Nachrichten zu senden, erstellt nicht zwei unabhängige Kanäle über einen einzelnen TCP-Socket.)

WCF hat jedoch keine bidirektionale Surport über eine HTTP-Verbindung und die WCF bydirectional HTTP surport does not cope with firewalls.