• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Не знает ли кто многопользовательский вариант Telnet сервера для 8266?

Юрий Ботов

Moderator
Команда форума
Не знает ли кто многопользовательский вариант квази-Telnet сервера для 8266? Тот что в примерах, не смотря на массив клиентов реально поддерживает только одного. Первый прицепляющийся оказывается во всех ячейках массива, а второй немедленно режектится... Как я уже говорил: задача хоббийная, интерпретатор палеозойского языка Trac. То есть некий сервер, вы к нему подключаетесь и программируете себе на тараке. Сейчас (недоделано) подцепиться может всего 2 юзера: rs232 и 1 telnet. Хочется несколько сетевых подключений. Для понимания: GitHub - yurybotov/trac: trac interpreter
 

nikolz

Well-known member
Не знает ли кто многопользовательский вариант квази-Telnet сервера для 8266? Тот что в примерах, не смотря на массив клиентов реально поддерживает только одного. Первый прицепляющийся оказывается во всех ячейках массива, а второй немедленно режектится... Как я уже говорил: задача хоббийная, интерпретатор палеозойского языка Trac. То есть некий сервер, вы к нему подключаетесь и программируете себе на тараке. Сейчас (недоделано) подцепиться может всего 2 юзера: rs232 и 1 telnet. Хочется несколько сетевых подключений. Для понимания: GitHub - yurybotov/trac: trac interpreter
чтобы цепляться к ESP открываете режим softAP с именем и логином. У вас появляется точка доступа в эфире. Со своего устройства с WIFI подключаетесь к этой точке доступа.
 

nikolz

Well-known member
вопрос:
Вы уже реализовали этот интерпретатор на компе, или Вы сразу пытаетесь его реализовать на ESP?
 

tretyakov_sa

Moderator
Команда форума
чтобы цепляться к ESP открываете режим softAP с именем и логином. У вас появляется точка доступа в эфире. Со своего устройства с WIFI подключаетесь к этой точке доступа.
Зачем вы это делаете? Как только человек задает вопрос у вас уже готов бесполезный ответ. Может ответите на поставленный вопрос?
 

Юрий Ботов

Moderator
Команда форума
вопрос:
Вы уже реализовали этот интерпретатор на компе, или Вы сразу пытаетесь его реализовать на ESP?
Первая версия (теперь знаю что не самая удачная) была написана на F#. Работала из командной строки или внешнего файла или через telnet.
Вторая версия (лежит на гитхабе адрес вверху) написана на javascript и работает тупо в браузере. Версия тоже не идеальная, но для поиграться - сойдет.
Эта версия третья, и я хочу сделать именно "компьютер на кристалле". Можно конечно было взять и другой кристалл, но.. у avr маловато памяти (внешнюю не хочу навешивать, хотя это и не проблема), stm32 - с памятью все нормально, но уж больно они большие для столь примитивной задачи, espшка подходит идеально: памяти достаточно, скорости достаточно, выводов хватает выше крыши, да еще на борту есть сеть и какой-никакой диск! Поэтому выбор пал на нее. Ответил?
 

Юрий Ботов

Moderator
Команда форума
чтобы цепляться к ESP открываете режим softAP с именем и логином. У вас появляется точка доступа в эфире. Со своего устройства с WIFI подключаетесь к этой точке доступа.
Спасибо, не то. У меня не точка доступа, а "сервер". Вопрос именно о реализации многопользовательского сервера через один входящий IP порт.
 

nikolz

Well-known member
Спасибо, не то. У меня не точка доступа, а "сервер". Вопрос именно о реализации многопользовательского сервера через один входящий IP порт.
попробуйте сделать UDP сервер.
В этом случае не надо держать открытыми соединения,
поэтому(теоретически) можно по любому числу соединений.
 

nikolz

Well-known member
Первая версия (теперь знаю что не самая удачная) была написана на F#. Работала из командной строки или внешнего файла или через telnet.
Вторая версия (лежит на гитхабе адрес вверху) написана на javascript и работает тупо в браузере. Версия тоже не идеальная, но для поиграться - сойдет.
Эта версия третья, и я хочу сделать именно "компьютер на кристалле". Можно конечно было взять и другой кристалл, но.. у avr маловато памяти (внешнюю не хочу навешивать, хотя это и не проблема), stm32 - с памятью все нормально, но уж больно они большие для столь примитивной задачи, espшка подходит идеально: памяти достаточно, скорости достаточно, выводов хватает выше крыши, да еще на борту есть сеть и какой-никакой диск! Поэтому выбор пал на нее. Ответил?
Как Вариант интерпретатор можно написать на луа под виндой и потом портировать на ESP без проблем.
Если на луа не работали, то поставьте редактор текста SciTe , который написан на луа, содержит компилятор, отладчик.
В нем реализуете интерпретатор и потом просто загоните текст отлаженной программы в nodemcu.
 

Юрий Ботов

Moderator
Команда форума
попробуйте сделать UDP сервер.
В этом случае не надо держать открытыми соединения,
поэтому(теоретически) можно по любому числу соединений.
Не пробовали telnet-ом зайти на UDP сервер? Он от него сразу отваливается и закрывается. UDP не подойдет...
Но если ничего с telnet не получится, придется писать специального клиента на js и цепляться по http...
 

Юрий Ботов

Moderator
Команда форума
Как Вариант интерпретатор можно написать на луа под виндой и потом портировать на ESP без проблем.
Если на луа не работали, то поставьте редактор текста SciTe , который написан на луа, содержит компилятор, отладчик.
В нем реализуете интерпретатор и потом просто загоните текст отлаженной программы в nodemcu.
Интерпретатор написать на интерпретаторе? :) Смысл?
 

nikolz

Well-known member
Интерпретатор написать на интерпретаторе? :) Смысл?
Я не пользуюсь телнетом, так как просто делаю себе на луа или на си интерфейс обмена.
Написать на луа имеет смысл для отладки алгоритма.
как правило на это уходит 1-2 дня. Потом уже готовый алгоритм можно перенести на любой другой любимый язык.
Из своего опыта знаю, что если пишу сразу на СИ то уйдет например недели две, а если сначала на луа а потом на си (если надо скорость увеличить), то время надо раза в два меньше. часто на луа вполне быстро работает, так как все операторы в луа сделаны в нативном коде и изначально написаны на си. Кроме того, строки хранятся в хеше и на сравниваются как числа, поэтому обработка строк гораздо быстрее чем даже на СИ без хеша.
В луа нет дублекатов таблиц и все обрабатывается по указателям, что также существенно ускоряет вычисления.
короче говоря, попробуйте, Вам понравится.
 
Сверху Снизу