кто хорошо знает curl - отзовитесь, плз!

cleargoal

Новичок
Привет, профи!

делаю игру на сайте - игроки будут играть парой: шашки, реверси, крестики-нолики и т.п.
нужно, когда один игрок сделал ход, сообщить об этом второму
Возможно ли это сделать с помощью curl?
намекните плз - как?
в целом я с курлом знаком и, разумеется, почитаю еще, только хочу понять - время ли сейчас читать об этом?

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

Помогите, плз!
 

Gas

может по одной?
Читай про ajax и/или websocket'ы. Карл тут не при делах.
 

cleargoal

Новичок
Читай про ajax и/или websocket'ы. Карл тут не при делах.
Спасибо за ответ!
я сейчас сделал так: игра на Джаваскрипт, через Аджакс вызывает пхп скрипт, который обращается к БД (хранит/читает).
И вот, теперь каждые 2 секунды (setinterval) скрипт запрашивает в БД - как дятел - "сделал ли соперник ход?". Пока ничего лучше не придумал, но как-то не греет - большая/неоправданная нагрузка на БД, вот и хочется оптимизировать. Не знаю - как?
 

Gas

может по одной?
Вурдалак
угу, всегда так и считал
с планшета писал, не то жмакнулось и не заметил.
 

WMix

герр M:)ller
Партнер клуба
врятли нужен "выделенный", в пхп нет проверки на это. другой вопрос имеешь ли cli и --enable-sockets
 

WMix

герр M:)ller
Партнер клуба
уверен ты даже не посмотрел, а еще кажется что запуск скрипта из коммандной строки для тебя не постигнутая наука
 

slider23

Новичок
Vps сейчас стоят столько же, сколько виртуал, например digitalocean. Там есть образ с уже установленым LAMP. Хотя настроить все с нуля в убунту - проще простого.
 

keltanas

marty cats
И вот, теперь каждые 2 секунды (setinterval) скрипт запрашивает в БД - как дятел - "сделал ли соперник ход?". Пока ничего лучше не придумал, но как-то не греет - большая/неоправданная нагрузка на БД, вот и хочется оптимизировать. Не знаю - как?
Тут есть 2 неопределенности: что у тебя за БД, и почему ты считаешь, что нагрузка неоправданная?

Есть выход, например, установить http://wiki.nginx.org/HttpRedis2Module и писать в редис флаг о том, что ход сделан. После этого долби nginx аяксом сколько хочешь. Как получишь положительный ответ, смело обращайся к скрипту за дополнительной информацией.
 

cleargoal

Новичок
уверен ты даже не посмотрел, а еще кажется что запуск скрипта из коммандной строки для тебя не постигнутая наука
Прочитал 2 раза... Для меня сложно.
Скрипты из командной строки никогда не запускал и Линукса вообще не знаю. С хостингом общаюсь через Си-панель.
Если поможешь мне с RealPlexorom - буду весьма благодарен!
 
Последнее редактирование:

cleargoal

Новичок
Тут есть 2 неопределенности: что у тебя за БД, и почему ты считаешь, что нагрузка неоправданная?
БД MySQL. Нагрузка неоправдана, на мой взгляд, потому что скрипт много раз делает один и тот же запрос, не получает никакой полезной информации (если не считать полезным ответ об отсутствии хода), а если учесть, что такие запросы шлет несколько тысяч игроков, то как-то тупо так делать :(

Есть выход, например, установить http://wiki.nginx.org/HttpRedis2Module и писать в редис флаг о том, что ход сделан. После этого долби nginx аяксом сколько хочешь. Как получишь положительный ответ, смело обращайся к скрипту за дополнительной информацией.
Это интересно! Пойду читать.
 

keltanas

marty cats
Скрипты из командной строки никогда не запускал и Линукса вообще не знаю. С хостингом общаюсь через Си-панель.
Это интересно! Пойду читать.
Забавная последовательность мысли. Редис ты может и сможешь запустить на хостинге (правда не без шелла), но вот модули для энжиныкса ставить вряд ли.
 

cleargoal

Новичок
Забавная последовательность мысли. Редис ты может и сможешь запустить на хостинге (правда не без шелла), но вот модули для энжиныкса ставить вряд ли.
Спасибо за замечание. Я рассчитываю на помощь как админов хостинга, так и добрых людей на этом форуме и на других :)
Ну, и сам учусь...
 

cleargoal

Новичок
Vps сейчас стоят столько же, сколько виртуал, например digitalocean. Там есть образ с уже установленым LAMP. Хотя настроить все с нуля в убунту - проще простого.
Посмотрел хостера. Спасибо! Буду брать :), хотя их англоязычную помощь мне получить будет потруднее, чем у русских админов. Ну да ладно - пробьемся!
 
Сверху