Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 17.08.2021 во всех областях

  1. 1 балл
    @ECS О какой библиотеке идёт речь? Стандартная библиотека в составе OpenOS не может корректно работать с таким кодом.
  2. 1 балл
    Сокет-сервак работает параллельно с твоим клиентом, пишущим MOTD и ждущим ответа. Клиентские данные могли не успеть обработаться серваком во второй раз, могли проинтерпретироваться в виде сдублированной строки "MOTDMOTD", а могли и вовсе быть поглощены ZOGом во имя вселенского благополучия. Ты же делаешь :read() в слепой надежде на успех. Непорядок! Подписывайся на ивент internet_ready, делай небольшую задержку между отправкой запросов на MOTD, разбивай сообщения через символ переноса строки, правильно обрабатывай их на сервере, а затем уже читай данные: local soc = require("internet") local event = require("event") event.listen("internet_ready", function() local motd = soc:read(100) ... end) soc.open("localhost", 2888) soc:write("MOTD\r\n") os.sleep(1) soc:write("MOTD\r\n") os.sleep(1) ... Либо, если оч сложна, юзай костыль со слипом. Но тут тоже никаких гарантий, то данные пришли и обработались корректно: local soc = require("internet") soc.open("localhost", 2888) soc:write("MOTD") os.sleep(1) motd = soc:read(100) soc:write("MOTD") os.sleep(1) motd = soc:read(100) ...
  3. 1 балл
    Я задал 4 вопроса и ни на один не получил вразумительного ответа. А они мне нужны, потому что без них совершенно неясно, "как это пофиксить". За других говорить не могу и не буду. Но я не атакую встречными вопросами из-за вредности, злости (ну, если немного только) или чувства собственного величия. Наоборот, иногда пытаюсь угадать по неполной информации ответ, что, вообще говоря, не надо делать. Здесь я бессилен. Что творится, никто не понимает. Задаю вопросы — прояснения не получаю. К слову. Для оформления кода есть кнопка . Просьба ею пользоваться. Можно даже выбрать подсветку Lua, если настроение очень щедрое.
  4. 1 балл
    да дерево это понятно что круто. Но я думаю легче будет сделать хеш таблицу
  5. 1 балл
    Да, это первое, что стоило попробовать. Но, насколько я помню, filesystem позволяет одновременно держать открытыми максимум 16 файлов. Поэтому рано или поздно потребуется ограничить количество файлов и хранить несколько виртуальных файлов внутри одного, используя аналог файловой системы. В этом случае проще будет использовать единственный файл. А уже тогда можно будет с лёгкостью отказаться от компонента filesystem, получив дополнительное ускорение. И B-tree будет выглядеть более уместно. Просто советчики немного забежали вперёд, а по сути их предложения вполне обоснованы.
  6. 1 балл
    я про то дерево. Что дерево в 1 файле не смогу хранить иза того что оно не поместится в ОЗУ при сериализации. А твой вариант с постоянно открытым файлом и записивать посекторно думаю может сработать
  7. 1 балл
    local soc = require("internet") soc.open("localhost", 2888) soc:write("MOTD") motd = soc:read(100) Я хочу допустим запросить motd ещё раз то я получу nill soc:write("MOTD") motd = soc:read(100)
  8. 1 балл
    Также можно использовать unmanaged диски - это позволит исключить почти что все временные затраты, связанные с задержками вызовов диска, поскольку почти все операции, кроме переноса головки на большое расстояние, выполняются на нем мгновенно
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...