Не знаю, какие в Москве скорости. В Саранске тоже около 1-4 МБит. Но давайте считать. Для уточнения: мы точно говорим об играх, запускаемых полностью удаленно или я невнимательно вошел в тему?
Пусть есть экран размером 800*600 пискселов (да, такой маленький и старый+) ), так как каждый пиксель — это набор из 3 байт, и частоста обновления экрана должна быть не меньше 24 (хотя кто играет с такой частотой?) кадров в секунду, то получаем поток информации:
800*600*3*24 = 34.560.000 байт/с или 276,48 мбит/с. В общем, для комфортно игры с размером картинки 1600*1200 нужно больше гигабита.
Если мы говорим просто про сервера онлайн-игр ака WOW, то да, 4мбит должно быть более чем.
Возможно, потребуется видоизменение регулярок.
1. Статус ответа:
status = substr(headers, 9, 3);
Код ответа расположен с 9 по 11 символы. Если не изменяет память, достаточно проверять на 200 и 302 коды.
2. Так находил кодировку в заголовках:
"/charset=(.+)[ˆ\ ]*/i"
3. Так — в теле страницы:
"/charset=(windows-1251|utf-8)/i"
Замечу, что я писал только для движков форумов, а они как правило только на этих двух кодировках работают, причем без лишних пробелов.
Вообще у меня закоменчен еще вот этот вариант, более универсальный:
"/<meta[ \r\n\t]{1}[ˆ>]*charset[ˆ=]*=([ˆ \"'>\r\n\t#]+)[ '\"\n\r\t]*[ˆ>]*>/is"
но что-то в нём не работало как надо, по-видимому, не помню что именно.
Собственно не понял критики. Человек попросил довезти его в определенное место за кратчайшее время. Я предлагаю автомобиль, а вы говорите, что автомобиль не умеет летать, поэтому не нужно.
Зато получите бесценный опыт+) Просто я сам в свое время брался за написание универсального опросника, но тогда знаний не хватило. Если типов вопросов будет не так много (выбор одного варианта, несколько и открытый вопрос), то реально лучше самому написать, возможно даже как плагин к какому-нить фреймворку. В том варианте, что задумывал писать я, были еще всевозможные таблицы и различные комбинации типов вопросов.
Я немного поковырял phpDaemon, но не разобрался. Показалось, что документации маловато. Дело в том, что участники чата будут выходить в инет с мобильников, соответственно использование вебсокетов, комета, аякса и вообще какого-либо яваскрипта исключено. Нужны именно сокеты, а по ним-то как раз в phpDaemon'e информации мало. В итоге решил вспомнить и подучить java — в ней потоки проще организовать. А node.js воспользуюсь позже, для переписывания веб-части проекта;)
Спасибо, то, что нужно! Последний вопрос — главный процесс должен висеть демоном, правильно я понимаю?
p.s^ уже давно порываюсь изучить и прикрутить node.js — описание возможностей очень соблазнительное, но сроки поджимают и нужно сделать «лишь бы быстрее» и «лишь бы было для начала что-то».
Можно поподробнее, как реализовать эту схему? Обращаться к скриптам как к обычным веб-страницам? Тогда запросы с сервера будет сложно реализовать (опять-таки comet): клиенты могут заходить в чат с мобильников.
Да, вроде phpDaemon должен решать поставленную задачу, но никак не могу с ним совладать.
Т.е. все-таки правильно будет вешать на определенный порт слушающего демона и создавать по процессу на каждое соединение? а когда будет нужно что-то отправить клиенту, то придется создавать отдельный подпроцесс?
p.s^ а на чём бы вы это делали? Опыта в других языках откровенно мало, но java, думаю, сумею подучить до нужного уровня. Намного ли проще будет реализовать это все на java?
Ваш случай слишком частный, поэтому, повторюсь, лучше написать с нуля.
1. «Внизу сайта появляется полоска..» — это делается на стороне клиента, средствами js в три строчки кода
2. «При нажатии… чат вырастает вверх… с возможностью изменения высоты..» — тоже самое (смотрите в сторону jQuery UI)
3. «Пользователи не имеют возможности менять ник, он должен запрашиваться у нашего сайта» — обычный ajax-запрос
4. «Сервер должен иметь возможность назначать комнаты участникам..» — это точно придется реализовывать самостоятельно
5. «Возможность администрирования чата, назначение модераторов» — роли участникам можно определять на уровне пользователей сервиса в пхп
6. «Никаких java- и flash- апплетов.… Одновременно не более 1000 пользователей.» — Мне кажется, лучше все-таки использовать апплеты, иначе 1000 юзеров могут не выдержать.