ПотокСети.Записать (NetworkStream.Write) Метод

Синтаксис

Записать(<Буфер>, <Смещение>, <Количество>)

Параметры

Буфер (обязательный)
Тип: МассивСписок (ArrayList).
Объект МассивСписок (ArrayList) байтов для записи данных.
Смещение (обязательный)
Тип: Число.
Отсчитываемое от нуля смещение байтов в буфере, с которого начинается копирование байтов в текущий поток.
Количество (обязательный)
Тип: Число.
Количество байтов, которые должны быть записаны в текущий поток.

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

Описание

Записывает данные в ПотокСети (NetworkStream) из указанного диапазона массива байтов.

Примечание

Пример

ПотокСети2.Записать(Буфер, 0, Буфер.Количество);
Полный пример кода

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

ПодключитьВнешнююКомпоненту("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.Write) Метод" + " " + ТекущаяДата());

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

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