Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возврат скриптом числа 
V
    Опции темы
ПетронийАрбитр
Дата 8.6.2010, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.6.2010

Репутация: нет
Всего: нет



Требуется скрипт, к которому будет обращаться флешовый ролик из вконтакта, и этот скрипт должен флеш-ролику возвращать цифру. От 1 до 65535. Причём по порядку, а потом, сначала, опять с единицы. Так вот, я хочу знать, мне последнее выданное число в базе хранить, в файлик записывать, или скрипт сам его помнить будет?
PM MAIL   Вверх
Guedda
Дата 8.6.2010, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Если только флешка будет к скрипту обращаться, то можно и в файл. 


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
ПетронийАрбитр
Дата 8.6.2010, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.6.2010

Репутация: нет
Всего: нет



Цитата(Guedda @ 8.6.2010,  17:09)
Если только флешка будет к скрипту обращаться, то можно и в файл.

Просто дело в том, что флешку будут запускать разные юзеры, и каждый создавший новую игру, должен получить следующий номер комнаты.
PM MAIL   Вверх
patap
Дата 8.6.2010, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



если уже есть база, то лучше в базу


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
ПетронийАрбитр
Дата 8.6.2010, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.6.2010

Репутация: нет
Всего: нет



Цитата(patap @ 8.6.2010,  17:19)
если уже есть база, то лучше в базу

Ну хостинг предоставляет базу. Я просто думал может есть какие более специализированные средства. Но похоже зря я так думал.
PM MAIL   Вверх
Guedda
Дата 8.6.2010, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Цитата(ПетронийАрбитр @  8.6.2010,  18:16 Найти цитируемый пост)
Просто дело в том, что флешку будут запускать разные юзеры, и каждый создавший новую игру, должен получить следующий номер комнаты. 

Тогда естественно лучше в базу.

 smile не забываем помечать вопрос решенным.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
ПетронийАрбитр
Дата 8.6.2010, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.6.2010

Репутация: нет
Всего: нет



Цитата(Guedda @ 8.6.2010,  17:25)
Цитата(ПетронийАрбитр @  8.6.2010,  18:16 Найти цитируемый пост)
Просто дело в том, что флешку будут запускать разные юзеры, и каждый создавший новую игру, должен получить следующий номер комнаты. 

Тогда естественно лучше в базу.

 smile не забываем помечать вопрос решенным.

Ну ладно, я покопаю насчёт MySQL, есть ли там возможность поставить блокировку, получить число, записать новое, и снять блокировку.

Добавлено через 7 минут и 33 секунды
Вообще я подозреваю что мне больше ничем не помогут, спасибо, буду думать.
PM MAIL   Вверх
bars80080
Дата 8.6.2010, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(ПетронийАрбитр @  8.6.2010,  17:23 Найти цитируемый пост)
Я просто думал может есть какие более специализированные средства

да, есть. называется - база данных


Цитата(ПетронийАрбитр @  8.6.2010,  17:38 Найти цитируемый пост)
я покопаю насчёт MySQL, есть ли там возможность поставить блокировку, получить число, записать новое, и снять блокировку.

ну, во-первых, не так уж и много времени занимает считать данные и перезаписать. но блокировка есть
PM MAIL WWW   Вверх
djamshud
Дата 8.6.2010, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



А просто в сессии хранить не получится?


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
bars80080
Дата 8.6.2010, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(djamshud @  8.6.2010,  19:00 Найти цитируемый пост)
А просто в сессии хранить не получится? 

а сессию единую тогда открыть для всех юзеров?

что-то мне кажется не надо их пускать так далеко
PM MAIL WWW   Вверх
djamshud
Дата 8.6.2010, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



bars80080, я был невнимателен. Мне показалось, что каждому клиенту нужно выдавать свою последовательность от нуля и дальше.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
ПетронийАрбитр
Дата 15.6.2010, 09:17 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.6.2010

Репутация: нет
Всего: нет



Нашёл интересное решение, без БД:
Код

$semaphore_id = 100;
$segment_id = 200;
// захватываем дескриптор семафора, связанного с нужным сегментом памяти
$sem = sem_get($semaphore_id,1,0600);
// обеспечиваем эксклюзивный доступ к семафору
sem_acquire($sem) or die("Can not acquire semaphore");
// определяем дескриптор для разделяемого сегмента памяти
$shm = shm_attach($segment_id,16384,0600);
// возвращаем значение из разделяемого сегмента памяти
$population = shm_get_var($shm,'population');
// обрабатываем значение
$population += ($births + $immigrants     $deaths     $emigrants);
// заносим значение обратно в разделяемый сегмент памяти
shm_put_var($shm,'population',$population);
// освобождаем дескриптор разделяемого сегмента памяти
shm_detach($shm);
// освобождаем дескриптор семафора,
// так чтобы другой процесс мог его получить
sem_release($sem);

Только мне нужно допилить под свои нужды. Семафор как раз и обеспечит чтобы каждому пользователю вернулось уникальное число, плюс мне нужно сделать чтобы при невозможности доступа к семафору не сообщение об ошибке появлялось, а через долю секунды новая попытка происходила smile Плюс нужно выяснить что вставить вместо 0600, чтобы доступ был настроен как мне нужно. В описании сказано, что это как разрешения в файлах работает, просто я про это смутно помню, из времён когда Перл немного изучал.
PM MAIL   Вверх
MoLeX
Дата 15.6.2010, 09:25 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



мы так любим всякие извращенные методы, а на самом деле решение на поверхности.

Всего то надо: 
fopen(file, 'w')
flock(res, LOCK_EX | LOCK_NB)
flock(res, LOCK_UN)

ну и сделать задержку если файл занят



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
ПетронийАрбитр
Дата 15.6.2010, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.6.2010

Репутация: нет
Всего: нет



Цитата(MoLeX @ 15.6.2010,  09:25)
мы так любим всякие извращенные методы, а на самом деле решение на поверхности.

Всего то надо: 
fopen(file, 'w')
flock(res, LOCK_EX | LOCK_NB)
flock(res, LOCK_UN)

ну и сделать задержку если файл занят

О, так я думаю лучше smile Ща попробую. Просто я ПХП вообще не знаю, мои основные языки, это C++, Java и ActionScript на данный момент. Спасибо вам огромное. Даже в голову не пришло почему-то. Правда то решение что я привёл, будет работать быстрее. Одно дело файл, другое дело оперативная память. Я думаю то решение пригодится в будущем для случаев высокой нагрузки. А пока ваш вариант сойдёт.
PM MAIL   Вверх
MoLeX
Дата 15.6.2010, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(ПетронийАрбитр @  15.6.2010,  09:29 Найти цитируемый пост)
Даже в голову не пришло почему-то. Правда то решение что я привёл, будет работать быстрее. Одно дело файл, другое дело оперативная память. Я думаю то решение пригодится в будущем для случаев высокой нагрузки. А пока ваш вариант сойдёт. 

хм. после того как скрипт отработал все данные уничтожаются из оперативки. Мне интересно как юзер Петя, зашедший через 2 минуты после юзера Васи, получит число большее на 1

Добавлено через 3 секунды
 smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0712 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.