Espruino:Справочник по API/Класс Socket/write(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 7: Строка 7:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
Socket.write(data)
Socket.write(data)
</syntaxhighlight>
</syntaxhighlight>
Строка 25: Строка 25:
Если вы хотите отправить двоичные данные, то их нужно будет напрямую преобразовать в строку. Это можно сделать с помощью функции [https://www.espruino.com/Reference#l_String_fromCharCode String.fromCharCode()], хотя зачастую быстрее и проще воспользоваться Espruino-функцией [https://www.espruino.com/Reference#l_E_toString E.toString()], которая считывает свои аргументы как массив байтов и преобразовывает их в строку.
Если вы хотите отправить двоичные данные, то их нужно будет напрямую преобразовать в строку. Это можно сделать с помощью функции [https://www.espruino.com/Reference#l_String_fromCharCode String.fromCharCode()], хотя зачастую быстрее и проще воспользоваться Espruino-функцией [https://www.espruino.com/Reference#l_E_toString E.toString()], которая считывает свои аргументы как массив байтов и преобразовывает их в строку.


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
socket.write(E.toString([0,1,2,3,4,5]));
socket.write(E.toString([0,1,2,3,4,5]));
</syntaxhighlight>
</syntaxhighlight>
Строка 31: Строка 31:
Если вам нужно отправить не байты, а что-то другое, то можете воспользоваться типизированными массивами или даже объектом DataView:
Если вам нужно отправить не байты, а что-то другое, то можете воспользоваться типизированными массивами или даже объектом DataView:


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
// 8-байтный объект ArrayBuffer:
// 8-байтный объект ArrayBuffer:
var d = new DataView(new ArrayBuffer(8));
var d = new DataView(new ArrayBuffer(8));
Строка 47: Строка 47:
=См.также=
=См.также=


{{ads}}
 


=Внешние ссылки=
=Внешние ссылки=
Строка 53: Строка 53:
<references />
<references />


{{Навигационная таблица/Espruino}}
{{Навигационная таблица/Портал/Espruino}}
{{Навигационная таблица/Телепорт}}

Текущая версия от 20:00, 23 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция Socket.write()[1]

Синтаксис

Socket.write(data)

Параметры

  • data – строка, содержащая данные для отправки

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

Булево значение false (для совместимости с Node.js). Когда буфер для отправки данных опустеет, будет сгенерировано событие drain.

Описание

Записывает данные из аргумента data в виде строки. Данные в аргументе data (включая массивы) будут преобразованы в строку при помощи стандартного JavaScript-метода toString().

Если вы хотите отправить двоичные данные, то их нужно будет напрямую преобразовать в строку. Это можно сделать с помощью функции String.fromCharCode(), хотя зачастую быстрее и проще воспользоваться Espruino-функцией E.toString(), которая считывает свои аргументы как массив байтов и преобразовывает их в строку.

socket.write(E.toString([0,1,2,3,4,5]));

Если вам нужно отправить не байты, а что-то другое, то можете воспользоваться типизированными массивами или даже объектом DataView:

// 8-байтный объект ArrayBuffer:
var d = new DataView(new ArrayBuffer(8));
// записываем число с плавающей точкой в байты 0-3:
d.setFloat32(0, 765.3532564);
// записываем int8 в байт 4:
d.setInt8(4, 42);
socket.write(E.toString(d.buffer))

Примеры

См.также

Внешние ссылки