Двунаправленная связь с использованием каналов C # TCP - PullRequest
1 голос
/ 14 мая 2009

Есть ли собственный способ реализации функций, предоставляемых Подлинными каналами (компонент http://www.genuinechannels.com)?) По сути, он обеспечивает те же функции, что и компонент удаленного взаимодействия .net, с той лишь разницей, что удаленное взаимодействие .net является однонаправленным Я ищу что-то, где, как клиент, я мог бы подключиться к серверу, а затем передать сообщения на сервер, а затем иметь возможность сервера передавать сообщения клиенту (когда бы сервер ни захотел, без вызова клиента). функция).

Спасибо за помощь!

Ответы [ 2 ]

3 голосов
/ 18 ноября 2009

WCF имеет стандартное переадресация по TCP.

(Когда WCF направляет однонаправленные каналы по TCP, сообщение с одного конца может блокировать сообщение с другого конца. Это связано с тем, что однонаправленные каналы WCF просто позволяют обоим концам отправлять сообщения, но не создают двух независимых каналы через один сокет TCP.)

Однако WCF не имеет однонаправленного Surport через одиночное HTTP-соединение, а WCF с однонаправленным HTTP-Surport не справляется с брандмауэрами .

1 голос
/ 14 мая 2009

Вам нужно будет либо поменять роли клиента и сервера (т.е. кто слушает, а кто пишет), или вы можете открыть второй сокет на том же порту, чтобы предоставить сервер вашего клиента. Сервер вашего клиента - это то, что будет прослушивать сообщения от того, что вы называете сервером, а затем [поднимать события | очередь | обрабатывать] получаемые им сообщения.

...