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

Totoro

Гуру
  • Публикации

    1 950
  • Зарегистрирован

  • Посещение

  • Победитель дней

    289

Сообщения, опубликованные пользователем Totoro


  1. Только что, Alex сказал:

    то есть получается для надежной связи с роботом, который где-то катается и получает инфу какую-то и команды, этот робот должен периодически сам переподключаться на канал? Иначе он рискует оказаться вне связи?

     

    Теоретически ничего там отваливаться не должно. Подключился и катайся.

    Практически - хрен знает, надо добавить пинг и обработку ошибок. Никто не тестировал активно.

    • Нравится 1

  2. @Alex время жизни - вечно.

    "Канал" там - это просто абстракция. На самом деле мост хранит только пользователей и информацию о их подписках.

    Сервер очень лайтовый, без долгосрочной памяти, поэтому как только пользователь отключается - вся информация о его подписках дропается.

    Если, например, глюкануло, и произошел дисконнект - надо будет переподписаться.


  3. 8 минут назад, AtomicScience сказал:

    Учите постиронию ;)

    Я бы поверил что это была постирония, или что угодно.

    Но смущает отказ от русскоязычной документации. Он говорит вполне однозначно и без иронии - это форум не целевая аудитория. У проекта наполеоновские амбиции, и это взаправду.


  4. Я вот согласен с товарищем @Fingercomp почти по всем пунктам.

     

    Что касается "картошечки", то тут мне видится два пути.

    Либо ты презентуешь свою программу как ультра-мега утилиту, которая изменит жизни - и тогда она должна иметь хоть какое-то место собственно в жизни игроков форума. То есть она должна быть реально применима в как можно большем количестве случаев. То есть - никакого лишнего кода, все максимально удобно и максимально практично. "Картошечка".

    Либо ты презентуешь свою программу как творческий эксперимент, и проект для фана - и тогда она естественно будет практически никому не нужна. Но ты получаешь полную свободу творчества, костылизма, велосипедирования и построения какого угодно хаоса. "Сандбокс".

     

    А тут у нас "сандбокс", который пытается выдать себя за "картошечку", и при этом сыпет перлами вроде "комьюнити, без обид, ныне представляет из себя весьма жалкое зрелище" и "вы боитесь поднять голову выше банального пинг-понга пакетами между платками, а ваши низменные интересы ограничены фермами пшенца и картошечки на дронах и прочей ерунде уровня третьего класса церковно-приходской IT-школы", за то, что пользователи не увидели особенного смысла и пользы в презентованном творении.

    • Нравится 4

  5. 27 минут назад, AtomicScience сказал:

    Окей, а теперь прикрути к своему примеру рукопожатие и завершение сессии

    А зачем? Что дает рукопожатие и сессия? Это оверхед.

    Удобно ~= сложно.

     

    28 минут назад, AtomicScience сказал:

    Я тоже могу "просто" (и обрати внимание, что твое пример оперирует с пакетами, а мой - с сессией):

    Ну и получаем дикий оверхед в виде создания и уничтожения нового стрима на каждый пакет.

    И да, ты все равно оперируешь пакетами (data) только через стрим, а не напрямую.

    Сессия (что ты вообще имеешь в виду под сессией?) по-прежнему не нужна.

     

    30 минут назад, AtomicScience сказал:

    mNSP это всего лишь пример чудес, которые можно творить с помощью абстракции

    Пока чудес не наблюдается. Ждем.

     

    26 минут назад, AtomicScience сказал:

    Вот именно - вы боитесь поднять голову выше банального пинг-понга пакетами между платками, а ваши низменные интересы ограничены фермами пшенца и картошечки на дронах и прочей ерунде уровня третьего класса церковно-приходской IT-школы.

    Когда на AtomicWars (дай бог ему здоровья и стабильной работы) вы задумаетесь над чем-то более глобальным, чем пароли на двери и бурение шахт друг-другу... на участках, вы так или иначе столкнетесь с необходимостью соединить ваши компьютеры, дронов и роботов в сеть.

    Тут главное не забывать, что мы все это творим в рамках майнкрафта. Картошечка на дронах - это наше все, и любая библиотека сильно выигрываешь, если она применима для картошечки. Если не применима - она остается уделом 2-х с половиной пользователей, которые пилят что-то глобальное свое. А такие пользователи обычно пишут свои велосипеды.

    Что касается связи компьютеров - недостатка в программах для этого нет.

    Есть, например:

    Zn - динамическая p2p сеть, которая обеспечит связь по цепочке компов, и проста в использовании как обычный modem. Не требует никакой конфигурации вообще.

    Stem - брокер сообщений на основе интернет плат. Мультиканальная передача сообщений откуда угодно и куда угодно, включая компы из реального мира. Опять таки - элементарен в использовании. Нуль настройки.

    И это я только свои проги упоминаю. Их так-то полно.

     

    13 минуты назад, AtomicScience сказал:

    Интернет в рамках сервера

    Делали, и не один раз. OpenNet, например. Был и браузер и сайты. Но в рамках сервера Minecraft это затея "на поглазеть один раз". Особого практического применения нет.

     

    14 минуты назад, AtomicScience сказал:

    Просто ты воспринимаешь Minecraft как игру, в рамках которой единственное использование OC - роботы-шахтеры и пароли на дверь, а я - как площадку, на которой можно побаловаться с протоколами и поиграть в сетевого программиста, попутно узнавая что-то новое для себя

    Ну вот тут я конечно же полностью согласен и поддерживаю. Как творческий эксперимент - программа офигенна.

    И объем работы проделан неплохой.

    Короче жду продолжения.

    • Нравится 2

  6. 5 минут назад, BrightYC сказал:

    Зачем это всё нужно если обычно OC ограничивается обычной простой пересылкой сообщения по модему? Кто это будет использовать? 

    P.S Это не в стиле "Зачем это нужно", просто объясните, как это применить на практике.

     

    В первом посте были интересные примеры - передача сообщений через редстоун или любую другую хрень.

    Плюс мне видится в том, что ты пишешь себе прогу для передачи сообщений, как обычно, только вместо component.modem юзаешь абстрактный network.

    И можешь потом очень легко и не меняя кода использовать свою прогу для работы поверх любого вида связи - от редстоуна до линкед плат.

    Типа единая система адресов и один и тот же виртуальный компонент network во всех случаях.

     

    Но в текущем виде оно конечно малоюзабельно.


  7. Эхо сервер из примера выглядит переусложненным.

    От слоя абстракции над физической сетью я бы ожидал упрощения работы, а не усложнения.
    То есть чего-нибудь вроде:

    local net = require('network')
    
    net.listen(port, function(address, port, message)
      net.send(address, port, message)
    end)

    Подключили абстракцию, повесили листенер на абстрактный порт.
    Получаем сообщение с абстрактного адреса и порта, пуляем его обратно.

     

    Какие преимущества несет именно модель стримов?

    Мест отказа становится больше - необходимо корректно работать со стримом, читать данные чтобы он не забивался, флашить данные, чтобы они отправились, закрывать стрим (включая ситуации, когда удаленная сторона не сообщила корректно о завершении подключения).


  8. 6 минут назад, AtomicScience сказал:

    Вот чего-чего, а вот профанства в английском от самого великого и легендарного Тоторки я никак не ожидал. 

    Если твоя целевая аудитория - я, то нет никаких проблем.

    Если весь этот форум - проблемы есть. Здесь все знают русский, но не все - английский. Ты, считай, отсекаешь половину потенциальных пользователей разом.
     

    7 минут назад, AtomicScience сказал:

    теперь я даже понимаю ECS'а, который нахрен снес всю русскую документацию к MineOS и оставил только английскую

    ECS ориентируется на "западный рынок". Он выложил свой проект на официальный английский форум.

    Кроме того он может позволить себе отсечь часть пользователей - у него их дохрена.

     

    8 минут назад, AtomicScience сказал:

    К тому же я ориентирую стек в большей степени на англоязычных юзеров и разработчиков, ибо наше комьюнити, без обид, ныне представляет из себя весьма жалкое зрелище

    Имеет смысл пересоздать тему здесь.


  9. Так, стало чуть понятнее. Это прогресс.

     

    2 часа назад, AtomicScience сказал:

    постоянно мурыжить GitHub

    Самый удобный способ, между прочим. Использование Git поднимет уровень разработки на одну ступеньку. А использование GitHub позволит разглядывать код онлайн, качать нужные части напрямую в OC (если надо) и не возиться с распаковкой архивов.

     

    После прочтения описания возникла еще пара вопросов.
    Этот стек решает проблему связи на больших расстояниях? То есть, строит ли он какую-то топологию сети, или работает чисто в пределах работы дефолтных сетевых карт?

    Выдавать IP адреса предполагается вручную? Не будет системы типа DHCP? Что будет если два узла в сети будут иметь одинаковый IP?
     

    22 часа назад, AtomicScience сказал:

    Каждый метод API задокументирован в коде, так что разобраться в нем не должно составить труда

    Учитывая что закоментировано оно на английском языке, всё таки составит. Далеко не все владеют английским на нужном уровне.
    Выкладывая код на русскоязычный форум (особенно если это не форум профессиональных разработчиков, которые привыкли работать с английским), хорошо иметь русскоязычную документацию.

    До кода пока не добрался, так что будут еще вопросы.

    • Нравится 1

  10. А всё таки хотелось бы адекватного описания.

    И ответа на вопросы "Что это такое?", "Для чего оно нужно?" и "Какую проблему оно решает?".

    После этого можно еще немного пояснить на тему "Как оно работает", если окажется что вещь стоящая.

    • Нравится 1

  11. 4 часа назад, Doob сказал:

    Вот подборка глючных шейдеров, некоторые смотрятся не так колхозно.

     

    Клевые шейдеры.

    Но оно у нас смотрелось не колхозно, когда было в меру.

    Просто Kimapr не признает условностей и живет на всю катушку.


  12. 5 часов назад, RolanUnix сказал:

    Некоторые говорили что можно сделать аддон который добавит поддержку C++, но я что-то вообще не понимаю как это будет работать вместе с Lua

     

    Технически ничего сложного. Просто не надо забывать, что как сам мод, так и аддоны к нему, пишутся не на Lua, а на Java (или другом языке семейства JMV).

×
×
  • Создать...