Alex 4 683 Опубликовано: 11 июня, 2019 @Totoro всё работает. Даже не знаю, в чем проблема была. Поставил имя канала "test" - все заработало Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 11 июня, 2019 3 минуты назад, Alex сказал: @Totoro всё работает. Даже не знаю, в чем проблема была. Поставил имя канала "test" - все заработало Может быть оно некорректно обрабатывает какие-нибудь символы в названии канала. Если что-то такое появится - пиши. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 11 июня, 2019 @Totoro хм, новая проблемка. Прошло 4 минуты, майн работал, компы - передатчик и приемник. Сервер отображал 2-е новых сессии и 1 канал активный. По истечении этого времени канал сдох, о чем сообщила мониторилка сервера и известила, что активных каналов 0. Сендилкой отправляю сообщение, на приемнике уже тихо. п.с. Переподключился и там и там - все опять отправляется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 11 июня, 2019 @Totoro повторно провел опыт, канал отваливается ~5 мин. А текущие сессии уменьшаются на 1. Кто отваливается, слушатель или отправитель, понять сложно, но судя по всему по каким-то причинам отваливается сабскрайбер и канал уничтожается при таймауте в 5 минут. примеч. Тесты проводил на нашем хосте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 11 июня, 2019 14 минуты назад, Alex сказал: По истечении этого времени канал сдох, о чем сообщила мониторилка сервера и известила, что активных каналов 0. По идее, это означает, что сдох коннект от того компа, который был подписан на канал. Приемник-то есть. Канал считается сдохшим, если на него никто не подписан. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 11 июня, 2019 3 минуты назад, Totoro сказал: Канал считается сдохшим, если на него никто не подписан. ага. Но я даже майн не сворачивал. просто наблюдал. Это даже компы не то что из чанков не выгружались, а даже с глаз не пропадали А канал почему-то убивается чем-то. И одна сессия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 11 июня, 2019 @Alex буду смотреть, что там такое. Надо понять кто именно убивает соединение - OC, Stem или ещё кто-то. Если окажется, что соединение гасится по бездействию Явой или OpenComputers - придется делать какой-то периодический пинг, чтобы поддерживать контакт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 11 июня, 2019 @Totoro а может это фишечка оски? Не может она по таймауту сама закрывать коннекты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 11 июня, 2019 Только что, Alex сказал: @Totoro а может это фишечка оски? Не может она по таймауту сама закрывать коннекты? Тоже такая идея в голову пришла. Но интересно, что закрывается только одна сессия - приемник. А вторая живет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 11 июня, 2019 1 минуту назад, Totoro сказал: Но интересно, что закрывается только одна сессия - приемник. А вторая живет. вот вот. Согласен. Тоже странно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 11 июня, 2019 @Totoro Стоп, а у Рида же не закрывалось ничего вроде на его мосте? Или ты не помнишь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 11 июня, 2019 35 минут назад, Alex сказал: @Totoro Стоп, а у Рида же не закрывалось ничего вроде на его мосте? Или ты не помнишь? Не помню. Надо отыскать тех кто им более активно пользовался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya 415 Опубликовано: 11 июня, 2019 3 часа назад, Totoro сказал: Не помню. Надо отыскать тех кто им более активно пользовался. @Asior ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 586 Опубликовано: 12 июня, 2019 (изменено) Я то тут причем? Я не разбирал серверную часть на винтики. Я только юзал то что есть и все. У рида вообще нет дисконнекта. Хз как это работает но у меня в программе, которую я недавно писал вообще нет дисконнекта. Программа тупо закрывается и все. Тут надо звать @1Ridav Кстати да. С подключением какая то проблема. Например мне удалось настроить приемник на оцелоте, и передатчик на эмуляторе (OCEmu) там все нормально работало. А вот обратно отказалось. Но я подозреваю что там из-за эмулятора все это дело. Слишком он уж устарел. Изменено 12 июня, 2019 пользователем Asior Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 13 июня, 2019 (изменено) ВНИМАНИЕ!!! ОБНОВЛЕНИЕ. Сервер STEM ночью был обновлен и перезагружен, всё что было к нему подключено - отключилось. Что нового? Новая веб-страничка. Теперь там появился веб-клиент. Мы можете подключиться к любому каналу и почитать, что там пишут. И даже написать самому. Конечно свободы там меньше чем если работать через OC напрямую - послать любые данные не получится, только UTF-8 текст. Но зато не надо писать код, а можно просто с сайтика всё отправлять. Кроме того, я отрефакторил внутреннюю структуру сервера, поменялось довольно много кода. Всё пока еще сырое, активное тестирование и сообщение о багах приветствуется. В ближайшие несколько дней буду фиксить баги и добавлять остальные обещаные плюшки, типа ping пакета. Скрытый текст Изменено 13 июня, 2019 пользователем Alex Установка спойлера 6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 13 июня, 2019 @Totoro о, патчик подвезли!)) круто п.с. каналы пока так сами по себе и отваливаются. И даже если чисто с вебки его криэйтить. Через несколько минут канал на сервере умирает судя по мониторилке каналов и сессий Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 13 июня, 2019 6 минут назад, Alex сказал: п.с. каналы пока так сами по себе и отваливаются. И даже если чисто с вебки его криэйтить. Через несколько минут канал на сервере умирает судя по мониторилке каналов и сессий Угу, проблема есть. Но я знаю как это поправить, во всяком случае для веба. Сейчас нафигачу пинг-пакеты и буду их слать каждые N секунд или минут. Вечером будет фикс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 15 июня, 2019 С небольшим запозданием, но я таки обновил сервер снова, и исправил все баги. Итак, теперь сервер постоянно обменивается с клиентами пингами. Это позволяет поддерживать соединение "в тонусе" и не давать ему отвалиться, как на TCP подключениях, так и на веб-клиенте. Для теста я держал соединение между веб-клиентом и программкой в эмуляторе OC открытым примерно два часа. Ничего не сломалось. Кроме того я добавил больше контроля над состоянием соединения. В веб клиенте фон будет загораться красным в случае проблем с соединением, так что это будет легко заметить и обновить страничку. В библиотеке для OpenOS добавились новые методы: server:ping(content[, timeout]), boolean - позволяет послать серверу Stem пинг. В качестве контента указываете любой кусок данных. Сервер должен будет его вернуть в точности чтобы подтвердить пинг. Метод блокирующий, ждет ответа от сервера вплоть до таймаута (который по дефолту 5 секунд). Возвращает true или false. server:isConnected(): boolean, error - проверка того, установлено ли подключение к серверу Stem. Если установлено, вернет true. Если не установлено - вернет nil и сообщение об ошибке. server:reconnect(): server, error - если что, этой командой можно переподключиться к серверу. Вернет ссылку на самого себя (объект server) в случае успеха. В случае ошибки, как водится, nil и строку с сообщением об ошибке. Подробный список команд можно полистать тут. Установить новую версию библиотеки можно по прежнему из Hel: hpm install stem Если библиотека уже была устанвлена, можно только обновить: hpm upgrade stem Если вы не пользуетесь Hel, то качайте по прямой ссылке: wget https://gitlab.com/UnicornFreedom/stem/raw/master/stem.lua 4 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 562 Опубликовано: 26 августа, 2019 Так. Тут мне долго жаловались на непонятные глюки и проблемы с тем, что сообщения не доходят. Я немного покопался в исходном коде, и нашел один занятный баг. Оказывается, каждый раз, когда кто-то отключался от сервера, со всех каналов, на которые он был подписан, дропались все подписчики. Я этот баг исправил, и накатил новую версию (0.2.1) на сервер. Кроме того коммиты с фиксами доступны в репозитории, если кто-то держит локальную копию stem'а. Приглашаю всех, у кого наблюдались косяки со связью, повторно протестировать и отписаться. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya 415 Опубликовано: 11 сентября, 2019 (изменено) Немного пошаманив сделал stand-alone версию. https://raw.githubusercontent.com/BrightYC/Other/master/stem-standalone.lua Можно встроить в голый биос, или голый ЖД. Единственное - немного упала простота использования. Порт можно сменить лишь изменив код(Рядом с портом есть комментарий --port) и адрес сервера так же меняется в начале программы. В остальном - почти тот же стем, за исключением того, что функции вызываются без stem.connect(), а напрямую - например connect(), subscribe, unSubscribe(), disconnect() и т.д. (Учтите, что писать connect надо лишь один раз, так как connect подменяет pullSignal, для подключения в дальнейшем нужно использовать reconnect) Изменено 1 октября, 2019 пользователем BrightYC 2 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах