#c# #.net #readline
#c# #.net #строка чтения
Вопрос:
ПРИВЕТ, ребята
Я пытаюсь прочитать строку, отправляемую последовательным портом, сначала я использовал функцию readline (), но поскольку строка состоит из нескольких строк, мне приходится выполнять цикл, как мне определить, что я достиг конца строки, или есть способ, которым я могу прочитать всю строку, используя что-то другое, чем readline, что не зависит от новой строки.
Спасибо
Jp
Комментарии:
1. Используете ли вы поток? Не могли бы вы показать немного своего кода?
Ответ №1:
Не существует волшебных способов, кроме протоколов, используемых по проводам.
Если вы отправляете с другой конечной точки, вам нужно добавить что-то в конце строки, что сообщает принимающей конечной точке, что все было отправлено.
Если вы не разработали другую конечную точку, вам нужно спросить производителя / разработчика, как вы можете определить конец строки.
Довольно стандартный способ пометить начало и конец последовательных сообщений — использовать символы ASCII STX / ETX (0x2 и 0x3 в таблице ASCII)
Ответ №2:
ETA: Это не очень хорошая идея, поскольку вы не знаете, когда дойдете до конца строки.
Я не знаю об аспекте последовательного порта, но предполагая, что у вас есть поток и все данные доступны, вы можете обернуть его в StreamReader и вызвать ReadToEnd.
Комментарии:
1. И как он узнает, что все было прочитано таким образом? Это не файл.
2. Вы абсолютно правы, просматривая документы / переосмысливая ситуацию. Спасибо!
3. Да, я должен принудительно выполнить некоторую идентификацию, сообщающую мне конец строки