ПотокСети.ЧитатьБайт (NetworkStream.ReadByte) Метод

Синтаксис

ЧитатьБайт()

Параметры

Возвращаемое значение

Тип: Число.

Байт, приведенный к целому числу или -1, если достигнут конец потока.

Описание

Считывает байт из потока и перемещает позицию в потоке на один байт или возвращает -1, если достигнут конец потока.

Примечание

Используйте свойство ПотокСети.ВозможностьЧтения (NetworkStream.CanRead), чтобы определить, поддерживает ли текущий экземпляр чтение.

Пример

Байт1 = ПотокСети1.ЧитатьБайт();
Полный пример кода

Копировать     Выделить всё

ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); TCPСлушатель1 = Ф.TCPСлушатель(Ф.IpАдрес("127.0.0.1"), 8888); TCPСлушатель1.Начать(); TCPКлиент1 = Ф.TCPКлиент("127.0.0.1", 8888); Пока Не TCPКлиент1.Подключен Цикл Приостановить(1000); // Сообщить("Нет подключения"); КонецЦикла; // Сообщить("Подключен"); ПринимающийКлиент1 = TCPСлушатель1.ПринимающийКлиент(); ПотокСети2 = ПринимающийКлиент1.ПолучитьПоток(); // Получили поток через который общаются TCPСлушатель1 (сервер) и TCPКлиент1 (клиент) СтрБуфер = "Съешь [же] ещё этих мягких французских булок да выпей чаю."; Буфер = Ф.Кодировка().ПолучитьБайты(СтрБуфер); ПотокСети2.Записать(Буфер, 0, Буфер.Количество); // Со стороны TCPСлушатель1 (сервера) отправили в поток строку. ПотокСети1 = TCPКлиент1.ПолучитьПоток(); // Получили поток через который общаются TCPСлушатель1 (сервер) и TCPКлиент1 (клиент) // Со стороны TCPКлиент1 (клиента) читаем побайтно из потока. МассивСписок1 = Ф.МассивСписок(); Байт1 = ПотокСети1.ЧитатьБайт(); Пока ПотокСети1.ДанныеДоступны Цикл МассивСписок1.Добавить(Байт1); // Сообщить("Байт " + " = " + Байт1); Байт1 = ПотокСети1.ЧитатьБайт(); КонецЦикла; СтрокаИзПотока = Ф.Кодировка().ПолучитьСтроку(МассивСписок1); Сообщить("1СтрокаИзПотока = " + СтрокаИзПотока); // // Можно и так прочитать из потока, определенной длины фрагментом. // // Сообщить("ВозможностьЧтения = " + ПотокСети1.ВозможностьЧтения); // Пока ПотокСети1.ДанныеДоступны Цикл // МассивСписок2 = (ПотокСети1.Прочитать(0, 256)); // КонецЦикла; // СтрокаИзПотока = Ф.Кодировка().ПолучитьСтроку(МассивСписок2); // // Сообщить("2СтрокаИзПотока = " + СтрокаИзПотока); ПотокСети2.Закрыть(); ПринимающийКлиент1.Закрыть(); ПотокСети1.Закрыть(); TCPКлиент1.Закрыть(); TCPСлушатель1.Остановить(); Ф.ЗапуститьОбработкуСобытий();

Тестовый код

Копировать     Выделить всё

ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptForms.dll"); Ф = Новый ФормыДляОдноСкрипта(); TCPСлушатель1 = Ф.TCPСлушатель(Ф.IpАдрес("127.0.0.1"), 8888); TCPСлушатель1.Начать(); TCPКлиент1 = Ф.TCPКлиент("127.0.0.1", 8888); Пока Не TCPКлиент1.Подключен Цикл Приостановить(1000); // Сообщить("Нет подключения"); КонецЦикла; // Сообщить("Подключен"); ПринимающийКлиент1 = TCPСлушатель1.ПринимающийКлиент(); ПотокСети2 = ПринимающийКлиент1.ПолучитьПоток(); // Получили поток через который общаются TCPСлушатель1 (сервер) и TCPКлиент1 (клиент) СтрБуфер = "Съешь [же] ещё этих мягких французских булок да выпей чаю."; Буфер = Ф.Кодировка().ПолучитьБайты(СтрБуфер); ПотокСети2.Записать(Буфер, 0, Буфер.Количество); // Со стороны TCPСлушатель1 (сервера) отправили в поток строку. ПотокСети1 = TCPКлиент1.ПолучитьПоток(); // Получили поток через который общаются TCPСлушатель1 (сервер) и TCPКлиент1 (клиент) // Со стороны TCPКлиент1 (клиента) читаем побайтно из потока. МассивСписок1 = Ф.МассивСписок(); Байт1 = ПотокСети1.ЧитатьБайт(); Пока ПотокСети1.ДанныеДоступны Цикл МассивСписок1.Добавить(Байт1); // Сообщить("Байт " + " = " + Байт1); Байт1 = ПотокСети1.ЧитатьБайт(); КонецЦикла; СтрокаИзПотока = Ф.Кодировка().ПолучитьСтроку(МассивСписок1); // Сообщить("1СтрокаИзПотока = " + СтрокаИзПотока); // // Можно и так прочитать из потока, определенной длины фрагментом. // // Сообщить("ВозможностьЧтения = " + ПотокСети1.ВозможностьЧтения); // Пока ПотокСети1.ДанныеДоступны Цикл // МассивСписок2 = (ПотокСети1.Прочитать(0, 256)); // КонецЦикла; // СтрокаИзПотока = Ф.Кодировка().ПолучитьСтроку(МассивСписок2); // // Сообщить("2СтрокаИзПотока = " + СтрокаИзПотока); ПотокСети2.Закрыть(); ПринимающийКлиент1.Закрыть(); ПотокСети1.Закрыть(); TCPКлиент1.Закрыть(); TCPСлушатель1.Остановить(); Сообщить(?( Истина , "", "!!! ") + "ПотокСети.ЧитатьБайт (NetworkStream.ReadByte) Метод" + " " + ТекущаяДата());

Смотрите также

ПотокСети (NetworkStream) Класс | Библиотека OneScriptForms