Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Преимущества CGI для одновременного конекта N посетителей

Ответить
Настройки темы
Преимущества CGI для одновременного конекта N посетителей

Старожил


Сообщения: 236
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть ли оно какое? и так ли я понимаю главную сегодняшнюю функцию применения на сайтах CGI??

дело в том что я на бесплатном хостинге НЕ поддерживающем БД, создал чат.. и там все сообщения записываются в файл, я вот подумал, что будет если два пользователя одновременно введут сообщения, как мне кажется либо ни одно сообщение не дойдет, или дойдет только одно.
как в таких случаях создать поочередную запись в файл одновременно запрашивающих этот же файл пользователей на запись например? подскажите что вы знаете пожалуста, и как этого можно добится с помощью CGI?
адрес моего тестируемого чата http://vv.fatal.ru

П. С.
я с CGI никогда не работал и почти вообще ничего о нем(или о них) не представляю)).....

Отправлено: 03:42, 27-06-2004

 
mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Цитата:
Преимущества CGI для одновременного конекта N
- нет, конечно. Никакого преимущества тут нет и быть не может. Просто технология CGI более старая, чем технология PHP/ASP и, соответственно, есть люди, которые к ней привыкли, а есть наработанные скрипты (зачем же от них отказываться). А с файлами никто лучше, или хуже не работает. Единственное, что в случае применения Perl/cgi можно, например, задействовать не-вебсерверный кусок файловой стуктуры (если адми туда пускает, чего на хостингах, чаще всего, не бывает).

Что касается блокировки фалов, на каком языке блокировать-то ? (Или просто блокировать внешними средствами OS?) можно тз поподробней ?

На всякий случай отпишу про Perl (как про наиболее часто употребляемый язык). Есть там такая встроенная функция flock. Она блокирует доступ к файлу, пока в него вносятся изменения.
Код: Выделить весь код
flock(дескриптор_файла, код_блокировки), 
где код_блокировки:
 *1 - для разделяемого доступа (совместная блокировка)
 *2 - для монопольного доступа (монопольная блокировка)
 *4 - асинхронная блокировка (функция flock не ожидает активизации блокировки)
 *8 - снятие блокировки
НО:
Цитата:
Функция flock в Perl'е реализует так называемую "мягкую болкировку", блокируя другие вызовы flock, а не сами процессы. Проще говоря, это не означает, что остальные программы не смогут использовать заблокированный файл, просто они не смогут получить от функции flock значение "истина".
В переводе, если процесс, обращаясь к файлу, не использует проверку блокировки, то может получиться ерунда Но в твоем случае, можно просто аккуратно следить за собственным кодом
Возможный вариант: кроме flock поступать, как pop3d *в *nix:
когда ты забираешь письмо с сервера, там создается копия файла твоего почтового ящика с точкой в начале имени (например: .fade) Это признак для программы, что ящик занят.
зы под виндами flock, по-моему просто не работает, тк, судя по всему, является надстройкой над системными функциями


[s]Исправлено: mar, 15:27 27-06-2004[/s]

Отправлено: 15:25, 27-06-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


FADE
лично я вижу в применении CGI либо когда нужно сделать так чтобы каждый скрипт запускался в отдельном потоке, в таком случае сметрь одного никак не повлияет на другие процессы.

если же упадет модуль, то упадут все процессы.

еще одно преивущество в том что в CGI можно использовать бинарники, это может быть полезно в тех случаях когда нужно максимальная скорость матаметики ( реальных примером придумать не смог)

испольнение скриптов в модуле позволяет снизить время отклика, в некоторых случаях производительность повышается в  разы!

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 19:47, 27-06-2004 | #3


Старожил


Сообщения: 236
Благодарности: 0

Профиль | Отправить PM | Цитировать


Vlad Drakula
в отдельном потоке? т.е. для каждого посетителя своя сессия я так понимаю? а гденибудь можно найти готовые подобные скрипты, чтобы хотябы получить представление как это работает, и как для этого нужно ставить перл к апачу? как модуль или как?..((

Добавлено:

mar
почти ничего не понял, но всеравно спасибо
как только на линукс уговорят перейти обязат flock попробую

А у тебя нету какогонибудь мануальчика по Перлу на не буржуйском под винды?

Отправлено: 02:47, 28-06-2004 | #4


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


FADE
сессия на каждого юзера всегда своя, не зависимо CGI или не CGI просто по определению!

еще уточнение - для создания каждой страницы используется отдельный процес, в случае CGI от внешний, в случае МОД он внутренний. Еще хочу отметить что есть серверная Ява, так она работает постоянно не  зависимо есть запросы к серверу или нет.

FADE
все это я наблюдал с ПХП, сначала он у меня стоял как CGI, потом как модуль.

FADE
если нужно то у меня есть 2 книзки на английском и одна на русском - всего 3,3мб

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 08:10, 28-06-2004 | #5


Старожил


Сообщения: 236
Благодарности: 0

Профиль | Отправить PM | Цитировать


Vlad Drakula
Vlad Drakula
на русском не отказался бы)

Отправлено: 08:23, 28-06-2004 | #6

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


FADE
скрипт и под cgi, и под модуль работать будет один и тот же.
Просто дальше либо сервер для каждого cgi-скрипта запускает на выполнение интерпритатор в отдельном процессе (или, если писать на C - бинарник программы). По завершении работы процесс уничтожается. А модуль имеет свой интерпритатор. (Но, Vlad, отвалить модуль по ошибке мягко говоря не просто, этак можно и интерпритатор уничтожить
Perl категорически не рекомендую(!) ставить модулем, тк модулем он действительно работает быстрее, но пожирает всю имеющуюся память (работает с ней, прямо, как газ с объемом )

Наверное, неудачно объяснила. Извини, могу попробовать переобъяснить, если есть вопросы. Я так поняла, что нужна блокировка файлов и написала, как это делать на Perl. А на каком языке написан чат?
Мануалыы поищу, где-то у меня были книги (но не под wind-ы, конечно, а проосто по perl-у)

Отправлено: 11:47, 28-06-2004 | #7


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mar
модуль можно повесить!
я встечал людей которые вешали, но в основном это связано с тем особенностями Апач2 вешали они на ресурсоемких задачах - например построить дерево из 100мб xml"ки на выделенном сервере!

FADE
хочешь докусентацию... пошли мне запрос на мыло!

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 18:56, 28-06-2004 | #8


Старожил


Сообщения: 236
Благодарности: 0

Профиль | Отправить PM | Цитировать


mar
чат целиком на php.. без базнаписан с нуля

короче говоря ребят, как обычно устонавливают перл на виртуальном сервере?)))

Отправлено: 21:09, 28-06-2004 | #9

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


FADE
sorry, я ответила по Perl-у, просто, решив, что раз cgi, значит perl Если речь идет о php, то можно решать для php
Или надо уже не файлы лочить, а perl ставить ?

Отправлено: 00:04, 29-06-2004 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Преимущества CGI для одновременного конекта N посетителей

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Счетчики посетителей на сайте vadimfls Вебмастеру 10 05-09-2009 01:12
[решено] HotKeySet() для одновременного управления несколькими скриптами Lyuk AutoIt 7 25-08-2009 17:23
2 конекта с одного компа. rim_muvies Хочу все знать 9 27-04-2008 17:36
Круглый стол «Свободное ПО против коммерческого: риски и преимущества для России» ruslandh Новости и флейм из мира *nix 19 06-07-2007 18:58
нужно ли записывать ip посетителей? mar Вебмастеру 10 29-05-2004 13:41




 
Переход