Требования: Две программы на компьютере нуждаются в односторонней коммуникации, и они не хотят использовать методы Socket и Http для общения, Socket должен слушать порты, а в случае конфликтов портов их нужно разрешать, затем учитывать механизм переподключения и т.д., Http-метод слишком неэффективен и часто устанавливает и уничтожает TCP-каналы. Тогда анонимный конвейер AnonymousPipe требует процесса родитель-ребёнок и не учитывает его.
Используйте именованные конвейеры для межсетевой коммуникации процессов:Вход по гиперссылке виден.
Именованные конвейеры обеспечивают межпроцессную коммуникацию между сервером конвейера и одним или несколькими клиентами конвейера. Они предлагают больше функциональности, чем анонимные конвейеры, которые используются для обеспечения межпроцессной связи на локальной машине. Именованные конвейеры поддерживают полнодуплексную связь между сетями и несколькими экземплярами серверов, сообщения и эмуляцию клиентов, чтобы процессы подключения могли использовать собственные наборы разрешений на удалённых серверах.
Давайте сначала посмотрим на рендеры:
Используйте PowerShell, чтобы просмотреть открытый именованный конвейер (Также возможно просмотреть его с помощью браузера), команда выглядит следующим образом:
.NET 6, как сервер командного конвейера NamedPipeServerStream, код выглядит следующим образом:
Программа .NET Framework отправляет данные в виде клиента NamedPipeClientStream со следующим кодом:
Скачать исходный код:
Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйста Ответ
|