Totoro Автор темы 3 562 Опубликовано: 11 сентября, 2019 Респект таким парням, которые поддерживают и совершенствуют отечественные разработки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 14 марта, 2020 Сервер STEM был обновлён до 0.2.4 и перезагружен. (Прошу прощения у всех у кого посыпались коннекты. ) Был исправлен баг, который не позволял посылать пакеты длиной более 1.5 килобайт. Теперь можно без проблем слать пакеты до 64 кб размером (это уже ограничение протокола STEM - если нужны пакеты жирнее, просто разбивайте данные на чанки). Кроме того, я чуть чуть обновил OC клиент stem.lua - теперь можно делать просто stem.connect() не указывая никакого адреса, и библиотека законнектит на stem.fomalhaut.me. Спасибо @BrightYC за то что как обычно пинал и требовал фиксов, спасибо @Fingercomp и @NEO за помощь в установлении причин, и конечно же спасибо @Totoro за то что баг обнаружил и исправил несмотря на жестокую лень. 9 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlexCatze 57 Опубликовано: 22 февраля, 2021 То ли я тупой, то ли лыжи не едут. Набросал код с использованием моста, он не заработал, сообщения не доходят. Стал разбираться, открыл веб интерфейс, в нём сообщения видны. На слушателе тишина. Попробовал отправлять из веб интерфейса, тишина. Взял пример из шапки, поменял имя канала, пробую, тишина. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 23 февраля, 2021 15 часов назад, AlexCatze сказал: ...Стал разбираться, открыл веб интерфейс, в нём сообщения видны. На слушателе тишина. ... То есть конкретно приём не работает? Попробуй на онлайн Ocelot проверить код - там инет хороший, серверный, файрволы и блеклисты точно не будут мешать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlexCatze 57 Опубликовано: 23 февраля, 2021 @Totoro На оцелоте всё работает прекрасно. Вот код: local event = require('event') local stem = require('stem') local server = stem.connect('stem.fomalhaut.me') server:subscribe('test') while true do local name, channel_id, message = event.pull('stem_message') if name ~= nil then print(channel_id, message) end end Вставлял в интерпретатор на оцелоте, потом этот же код в майне. На оцелоте сообщения приходят, в майнкрафте нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 23 февраля, 2021 48 минут назад, AlexCatze сказал: На оцелоте всё работает прекрасно. Вставлял в интерпретатор на оцелоте, потом этот же код в майне. На оцелоте сообщения приходят, в майнкрафте нет. Напрашивается вывод о том, что какие-то проблемы с сетью. Хотя если отправка работает, это странно. Кто-нибудь ещё может подтвердить такие проблемы при использовании Стема из майна? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 23 февраля, 2021 1 час назад, Totoro сказал: Кто-нибудь ещё может подтвердить такие проблемы при использовании Стема из майна? Мб брандмауэр в форточках не пропускает трафик из майна? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 586 Опубликовано: 23 февраля, 2021 2 часа назад, Totoro сказал: Кто-нибудь ещё может подтвердить такие проблемы при использовании Стема из майна? Ну я уже сообщал об этом. Трафик от ОС пропускается через vpn в итоге из игры отправить данные возможно, а обратно получить нельзя. Тут как итог только только несколько варимантов Не использовать vpn но это уже не от нас зависит, а от администации серверов которым явно виднее где у них сервера стоят и что в той стране запрещено. Переделывать мост по типу чата, тоесть чтоб ОС могла спокойно загружать данные, загрузку данных vpn пропускает нормально Че нужны какие тесты, пингай меня в ирке, за счет дс замечу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 23 февраля, 2021 2 часа назад, Totoro сказал: Напрашивается вывод о том, что какие-то проблемы с сетью. Хотя если отправка работает, это странно. Кто-нибудь ещё может подтвердить такие проблемы при использовании Стема из майна? Какие-то странные проблемы. Это точно не сеть, не VPN и сомнительно, что брандмауэр: - Ocelot Desktop (Lua 5.2) работает замечательно; - OCEmu (Lua 5.2) не принимает входящие сообщения, но может отправлять; - Minecraft 1.7.10 (Lua 5.3) работает замечательно. P.S. Я проверял всё с локального компьютера. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlexCatze 57 Опубликовано: 23 февраля, 2021 (изменено) Зашёл на другую сборку, там всё работает как надо. З.Ы. Почему-то поставить либу из hpm не получилось. UPD:Заработало и на первой сборке, когда поставил Lua 5.3. На Lua 5.2 не работало. Изменено 23 февраля, 2021 пользователем AlexCatze 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 23 февраля, 2021 Всё хорошо что хорошо кончается Я наверняка либу стемовскую на 5.3 писал. Так что будем теперь иметь в виду, что при возникновении проблем надо проверить версию Lua. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlexCatze 57 Опубликовано: 23 февраля, 2021 11 минуту назад, Totoro сказал: Всё хорошо что хорошо кончается Судя по всему, ещё не кончается. Заметил, если на канал подписано несколько слушателей(у меня 3 компа и браузер), сообщения доходят не всем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 23 февраля, 2021 Вот блин ) Надо дебажить. Вроде я на веб-клиенте тестировал, и если там толпа веб-клиентов подключена, то особо нет проблем. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlexCatze 57 Опубликовано: 23 февраля, 2021 У меня такая картина: веб клиент(для отладки, в нём смотрю, что в мост летит),комп 1(тоже для отладки, подписан на канал, в цикле слушает его), комп 2("роутер", ждёт сообщение от клиента, и должен на него ответить), комп 3("клиент", шлёт сообщение, и ждёт ответ от роутера). В вебе всё всегда видно прекрасно. С компами замечены такие случаи: Комп 3 шлёт сообщение, его ловит либо комп 1, либо он сам Комп 3 шлёт сообщение, его никто не ловит Комп 3 шлёт сообщение, его ловит комп 2, шлёт сообщение, и его никто не ловит Комп 3 шлёт сообщение, его ловят компы 2 и 3, комп 2 шлёт сообщение, и его никто не ловит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 23 февраля, 2021 Прямо таки сообщения Шрёдингера. Есть подозрение что это библиотека stem под OC не идеально написана. Хотя там много потенциальных мест отказа. В худшем случае, это фундаментальный косяк OC при работе с TCP сокетами и мне придётся всё таки написать HTTP версию стема. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
AlexCatze 57 Опубликовано: 24 февраля, 2021 Написал я пару программок. Одна шлёт сообщение с начала в Stem, и через две секунды, его же в модем, а потом ещё две секунды ждёт. pastebin run HWVxJ3qs Вторая, слушает сообщения с модема и со Stem`a. Если приходит сообщение со Stem`a - заносит его в таблицу. Если приходит с модема - проверяет наличие сообщения в таблице. Если сообщение там есть - говорит "OK", если его там не оказалось - ругается, и говорит содержание затерявшегося сообщения. pastebin run UzqYheFk Ставим два компа, запускаем на них программки, и на принимающей стороне видим такую картину: При этом в веб-версии потерянные сообщения видны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 24 февраля, 2021 Выглядит как будто в какой-то момент сокет отвалился. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 6 апреля, 2021 В 24.02.2021 в 16:18, Totoro сказал: Выглядит как будто в какой-то момент сокет отвалился. Скорее всего, причина здесь проще: до библиотеки (может быть, не проверял) не доходит событие internet_ready. Проверял свой Thundernet и столкнулся с той же проблемой: программа не получает часть сообщений. Причём: 1) на ocelot.fomalhaut.me всё работает хорошо; 2) интернет во время теста работал нормально, без потерь пакетов вообще; 3) при посылке сообщения через веб-мордочку оно доходит примерно в трети случаев. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Bumer_32 35 Опубликовано: 6 мая, 2022 (изменено) В 21.11.2018 в 02:02, Totoro сказал: Если кто-нибудь хочет помочь с написанием клиента STEM на своём любимом языке программирования - обращайтесь ко мне в ЛС, IRC или пишите в этой теме. Написать клиент несложно - для примера можно глянуть на код библиотеки для OpenComputers. Она состоит всего из 150 строк кода. Да да всё изи всего каких то 150 неа уже 219 строк не понятного для меня кода... жесть не по факту 200+ строк это реально мало но проблема что в них ни фига не понятно (покрайней мере для меня) и как мне написать что бы это работало на python или c# я хз Изменено 21 сентября, 2023 пользователем Bumer_32 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 7 мая, 2022 @Bumer_32 Хорошо, вот 62 строки: https://gist.github.com/ProgramCrafter/3b6a2faa6f4da3f74b0ca52b5aee4dc5 Самый базовый код, без обработки ошибок, но некоторое время может работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах