Использование именованных каналов асинхронно с StreamWriter - PullRequest
5 голосов
/ 22 июля 2010

Я пытаюсь отправить строку по именованному каналу, используя StreamWriter, но класс StreamWriter предлагает только синхронные операции. Я могу использовать метод BeginWrite класса NamedPipeServerStream, но мне интересно, почему не существует классов-писателей, которые бы допускали асинхронные операции. Я что-то упускаю из виду?

1 Ответ

2 голосов
/ 25 декабря 2011

Это было бы значительно сложнее, чем для необработанных потоков.Для необработанных потоков любой объем данных может поступать асинхронно, и система просто передает вам буфер.Для чтения требуется кодировка символов, которая может превратить несколько байтов необработанных данных в один символ Unicode.Не то чтобы это было невозможно, библиотеки фреймворка просто не зашли так далеко, поэтому вам нужно будет выполнить эту работу самостоятельно.

(В зависимости от ваших потребностей, создание другого потока и синхронное выполнение операций наэто может упростить написание вашей программы. Обратите внимание, что масштабируемость обычно выше при использовании асинхронного начала / конца.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...