JS Терминал - управление соединениями
От: MikelSV http://www.centerix.ru
Дата: 24.07.09 16:52
Оценка:
Хочу сделать терминал, типа линуксового, на javascript.

Если нарисовать стандартное окошко 80*25 не составило труда и даже работа с нажатиями кнопками оказалась не такой простой(и он даже отображает вводимые символы),
то проблемы с соединениями заставляют задуматься.


Нажатия кнопок нужно пересылать серверу. Тоесть по идее создавать чуть ли не по запросу на каждую нажатую кнопку, что ужасно много.
Можно ждать и посылать группами, но это тоже дофига(и терминал тормозить будет ).

С получением данных такая же проблема. но тут проще, можно не закрывать соединение и слать js код, который браузер будет выполнять. хотя сам код типа: <script>key('H');</script> не внушает веру в оптимизацию. но хотяб проверено и работает.

Итого интересует возможнось максимально управлять соединениями и снизить обьем траффика. с удовольствием пошлю бинарные данные.
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re: JS Терминал - управление соединениями
От: Роман Дубров Украина Я@Blogspot
Дата: 27.07.09 12:05
Оценка:
MikelSV пишет:

> Нажатия кнопок нужно пересылать серверу. Тоесть по идее создавать чуть

> ли не по запросу на каждую нажатую кнопку, что ужасно много.

зачем? локальное эхо придумано 100 лет как...

> С получением данных такая же проблема. но тут проще, можно не закрывать

> соединение и слать js код, который браузер будет выполнять. хотя сам код
> типа: <script>key('H');</script> не внушает веру в оптимизацию. но хотяб
> проверено и работает.

отсылать на сервер по энтеру/табу/прочим системным клавишам асинхронно через XMLHttpRequest, выводить на экран по прибытию ответа
получится примерный аналог обычной линуксовой консоли.
Posted via RSDN NNTP Server 2.1 beta
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[2]: JS Терминал - управление соединениями
От: MikelSV http://www.centerix.ru
Дата: 29.07.09 11:49
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>отсылать на сервер по энтеру/табу/прочим системным клавишам асинхронно через XMLHttpRequest, выводить на экран по прибытию ответа

РД>получится примерный аналог обычной линуксовой консоли.

локальное эхо не очень радует. в начале может и пошло б, но я управляю курсором с сервера, да и делаю попытки написать файловый менеджер, типа fara. здесь на каждую кнопку нужна реакция.
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re[3]: JS Терминал - управление соединениями
От: Роман Дубров Украина Я@Blogspot
Дата: 29.07.09 13:19
Оценка:
MikelSV пишет:

> локальное эхо не очень радует. в начале может и пошло б, но я управляю

> курсором с сервера, да и делаю попытки написать файловый менеджер, типа
> fara. здесь на каждую кнопку нужна реакция.

ненадежно получится...
надо логику клиентскую на клиенте держать, а на сервер команды отсылать — сменить/перечитать директорию, выполнить команду итд...
Posted via RSDN NNTP Server 2.1 beta
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[4]: JS Терминал - управление соединениями
От: Корсаков Сергей Россия  
Дата: 29.07.09 18:54
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>MikelSV пишет:


>> локальное эхо не очень радует. в начале может и пошло б, но я управляю

>> курсором с сервера, да и делаю попытки написать файловый менеджер, типа
>> fara. здесь на каждую кнопку нужна реакция.

РД>ненадежно получится...

РД>надо логику клиентскую на клиенте держать, а на сервер команды отсылать — сменить/перечитать директорию, выполнить команду итд...

+1

Топикстартеру:
А вы уверены, что набирая слово anything сервер не получит последовательность tnyhaing?
Общение клиент-сервер чезез пост-запросы очень тонкая штука. И в вашем случае нужно тысячу раз подумать прежде чем что-то реализовывать.
Я бы тоже отсылал команды целиком, а всю логику хранил на стороне клиента.

И вообще, зачем серверу знать то, КАК я набираю команды??? По-моему ему более интересен результат.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.