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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=<ref>[https://www.espruino.com/Reference#l_Socket_write www.espruino.com - function Socket.write(data)]</ref>=
=Функция Socket.write()<ref>[https://www.espruino.com/Reference#l_Socket_write www.espruino.com - function Socket.write(data)]</ref>=


==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript" enclose="div">
 
Socket.write(data)
</syntaxhighlight>
</syntaxhighlight>


==Параметры==
==Параметры==


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


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


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


Записывает данные из аргумента data в виде строки. Данные в аргументе data (включая массивы) будут преобразованы в строку при помощи стандартного JavaScript-метода 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">
socket.write(E.toString([0,1,2,3,4,5]));
</syntaxhighlight>


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


<syntaxhighlight lang="javascript" enclose="div">
// 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)) 
</syntaxhighlight>


== Примеры ==
== Примеры ==

Версия от 13:50, 28 февраля 2021

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


Функция 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))

Примеры

См.также

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