Espruino:Справочник по API/Класс Socket/write(): различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 7: | Строка 7: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript | <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 | <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 | <syntaxhighlight lang="javascript"> | ||
// 8-байтный объект ArrayBuffer: | // 8-байтный объект ArrayBuffer: | ||
var d = new DataView(new ArrayBuffer(8)); | var d = new DataView(new ArrayBuffer(8)); |
Текущая версия от 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))
Примеры
См.также
Внешние ссылки