25.04.2012, 09:44
|
Интересующийся
|
|
Регистрация: 19.07.2010
Сообщений: 23
|
|
На чем лучше писать online javascript шахматы
Всем доброе время суток! Хочу написать свой шахматный портал на javascript, и хотел спросить у специалистов. На каком языке лучше всего писать серверную часть обмена данными (передача ходов), ajax не подходит. Нужно что-бы обмен данными происходил почти мгновенно, но при этом не обновлять каждый определенный промежуток времени браузер, в поиске пришедших данных. Читал о сокетах, наверное не самое лучшее решение ? Еще нужно что-бы другие игроки имели возможность наблюдать за игрой. Сам клиент, почти написан на javascript. Знаю только php js. Думаю, что наверное прийдеться изучать Java? Возможно есть какое-то интересное решение? Подскажи пожалуйста, кто знает ?
|
|
25.04.2012, 14:23
|
Интересующийся
|
|
Регистрация: 06.02.2011
Сообщений: 24
|
|
Советую node.js(серверный js) + http://socket.io/ Ничего дополнительно учить не надо, единственное, придется помучатся с изучением асинхронного программирования на сервере.
Суть nodejs в том, что он позволяет не постоянно работать скрипту и проверять состояние игры каждый момент, а реагировать только на определенные события, тем самым позволяет создавать мультиплееры на сколько угодно игроков, и особой нагрузки такой код на сервере не вызовет.
Из недостатков - пока что nodejs не так популярен как php, соответственно и хостингов с этой технологией намного меньше.
|
|
25.04.2012, 14:48
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Diego
|
Ничего дополнительно учить не надо
|
Сообщение от Diego
|
придется помучатся с изучением асинхронного программирования на сервере
|
Взаимоисключающие предложения.
Сообщение от Diego
|
Из недостатков - пока что nodejs не так популярен как php, соответственно и хостингов с этой технологией намного меньше.
|
Любой VPS, они не сильно дороже виртуальных хостингов.
|
|
25.04.2012, 15:07
|
Интересующийся
|
|
Регистрация: 06.02.2011
Сообщений: 24
|
|
Сообщение от Kolyaj
|
Взаимоисключающие предложения.
|
я имел ввиду языки программирования. JS он и на сервере js
Имхо, выучить новый стиль программирования намного легче чем новый язык с его особенностями и функциями.
|
|
25.04.2012, 15:58
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Diego, боюсь, помучаться придётся не только с "изучением асинхронного программирования на сервере". Ещё нода имеет привычку падать от малейшей ошибки, жрать память, и т.д.
bombascter, почему, кстати, ajax не подходит? Если вас даже сокеты не смущают, значит, дело не в кроссбраузерности. А в чём тогда?
|
|
25.04.2012, 16:49
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от trikadin
|
Ещё нода имеет привычку падать от малейшей ошибки
|
За больше года в продакшне ни разу не упала.
Сообщение от trikadin
|
жрать память
|
Какое-то время наблюдал за потребляемой памятью, потом забил, т.к. она не росла в течение нескольких месяцев.
Сообщение от trikadin
|
и т.д.
|
?
|
|
25.04.2012, 16:59
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Kolyaj, да, я думаю, у вас не падает. Но что-то мне подсказывает, что такой уровень профессионализма не везде. Например, я не имел в виду, что нода жрёт память сама по себе, я имел в виду, что легко допустить, чтобы нода начала жрать память. То же самое и с ошибками, например, ссылка на эту вещь в документации стала открытием и для меня.
Мой пост ставил целью подчеркнуть то, что учиться придётся не только асинхронному программированию.
|
|
25.04.2012, 17:12
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от trikadin
|
я имел в виду, что легко допустить, чтобы нода начала жрать память.
|
Ну так в любом языке/фреймворке можно это легко допустить. PHP спасает только то, что там процесс умирает сразу.
Сообщение от trikadin
|
Мой пост ставил целью подчеркнуть то, что учиться придётся не только асинхронному программированию.
|
С этим я согласен. Ещё придётся учиться работать в серверном, а не браузерном, окружении. Язык только верхушка айсберга.
|
|
25.04.2012, 17:18
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от Kolyaj
|
Ну так в любом языке/фреймворке можно это легко допустить. PHP спасает только то, что там процесс умирает сразу.
|
Примерно то же происходит и со страничками в вебе, поэтому JS-ники, которые пишут на клиенте, часто не задумываются об утечках памяти.
Сообщение от Kolyaj
|
С этим я согласен. Ещё придётся учиться работать в серверном, а не браузерном, окружении. Язык только верхушка айсберга.
|
Кстати, а какой сервер вы используете? nginx?
|
|
|
|