Эксперимент с файловой системой, о котором я думал на некоторое время. Каким-то образом создание сокета домена FIFO или Unix, которое является двунаправленным соединением с потоковыми возможностями между произвольными веб-страницами и любой программой, которую я запускаю локально-без использования нативного обмена сообщениями, который представляет собой МПК в формате, подобном JSON, по крайней мере, на хроме. Как это работает? Я думаю, что вроде сочетания обоих. Или что -то еще? Не то чтобы мне нужно имя или ящик для канала связи. Я просто забочусь о том, что он делает то, что я говорю ему. Просто любопытно, вписывается ли система в одну из этих стандартных коробок Unix? Что -то еще ...? < /P>
repl.js
for await (const e of Deno.watchFs("/home/user/Documents")) {
for (const [index, path] of Object.entries(e.paths)) {
if (path.split("/").pop() === "sock") {
const input = Deno.readTextFileSync(path);
console.log(e.kind, path);
if (input.length > 0) {
console.log(input);
const command = new Deno.Command(Deno.execPath(), {
args: [
"eval",
input,
],
});
const { code, stdout, stderr } = command.outputSync();
await Deno.stdout.write(stdout);
Deno.writeFileSync(path, stdout);
} else {
continue;
}
}
}
}
< /code>
repl-sock.js
startIn: "documents",
suggestedName: "sock",
});
async function repl(script, fs) {
let readWrites = 0;
const { resolve, promise } = Promise.withResolvers();
const fso = new FileSystemObserver(async ([{
changedHandle,
root,
type,
}], record) => {
try {
if (++readWrites === 2) {
readWrites = 0;
const text = await (await changedHandle.getFile()).text();
fso.unobserve(fs);
fso.disconnect();
const currentHandle = await changedHandle.createWritable();
await currentHandle.truncate(0);
await currentHandle.close();
resolve(text);
}
} catch (e) {
console.log(e);
}
});
fso.observe(fs);
return new Response(script).body.pipeTo(await handle.createWritable())
.then(() => promise).then(console.log).then(() =>
console.log(`Done writing to and reading from ${handle.name}`)
).catch((e) => console.log(e));
}
< /code>
Usage, from DevTools console или фрагменты на произвольной веб -странице
repl(`console.log(Deno.version)`, handle).then(console.log)
// { deno: "2.2.6+b880087", v8: "13.5.212.4-rusty", typescript: "5.7.3" }
// Done writing to and reading from sock
Подробнее здесь: https://stackoverflow.com/questions/795 ... -something
Напоминает ли эта Deno Repl в браузере FIFO, Unix Domain Dockets, что -то еще? ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Выход модели Fitzhugh - Nagumo не напоминает то, что показано в Википедии
Anonymous » » в форуме Python - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-