Записывает файл, если я не ошибаюсь, именно php, когда разбирает входные параметры.
Поэтому я думаю да, это возможно. Но детальнее сейчас не скажу, надо разбираться =)
Позвольте поинтересоваться, граница между полезными и бесполезными шашечками где проходит?
Что-то мне подсказывает, что это исключительно ваше субъективное мнение о данном конкретном случае, которое вовсе необязательно будет верным с точки зрения любого другого человека.
Я лично всегда проверяю.
Потому что это трудноуловимые грабли: если вдруг malloc по какой то причине все же вернет NULL (а это необязательно нехватка памяти) — мы увидим Segmentation fault.
Если же результат вызова malloc() проверить и в случае NULL выдать вменяемое сообщение об ошибке — сэкономите кучу времени при отладке.
Я к сожалению занимался разработкой расширений исключительно под *nix, полагаю, вам лучше обратиться к автору топика о создании расширения под VS2008, он публиковал готовый проект-основу. Думаю он больше знает по этому вопросу.
Абсолютно с вами согласен.
Подводные камни при работе с разделяемой памятью есть.
И расширяемости нет.
Сделал так только потому, что на данный момент все работает на одной машине и использовать для взаимодействия сокеты — все таки медленнее.
Например этот самый чат — самый характерный пример.
Здесь по сути при появлении нового сообщения в общем чате соединяется один клиент через сокет и передает сообщение демону.
После чего клиенты просто обнаруживают сообщение в разделяемой памяти и форматируют для вывода в браузер.
Отсутствует необходимость в куче подключений от всех клиентов через сокеты.
Почему же однопоточный.
Оба используемых демона — многопоточны.
Но вид взаимодействия (разделяемая память + UNIX сокеты) накладывает ограничения на расширяемость. С другой стороны, для одной машины — это самый быстродействующий вариант.
У меня к сожалению по историческим причинам основная часть проекта практически не масштабируется, потому что более одного сервера у меня никогда и не было по финансовым причинам =)
Однако переработка движка для возможности распределять нагрузку на несколько серверов — в планах конечно.
но все таки сколько то вернуть можно, если не ошибаюсь.
Спасибо.
Момент с прочитавшей неотправленное сообщение just_eve тоже немного не понял.
Жду продолжения =)
Поэтому я думаю да, это возможно. Но детальнее сейчас не скажу, надо разбираться =)
Ловите + в карму =)
Что-то мне подсказывает, что это исключительно ваше субъективное мнение о данном конкретном случае, которое вовсе необязательно будет верным с точки зрения любого другого человека.
Потому что это трудноуловимые грабли: если вдруг malloc по какой то причине все же вернет NULL (а это необязательно нехватка памяти) — мы увидим Segmentation fault.
Если же результат вызова malloc() проверить и в случае NULL выдать вменяемое сообщение об ошибке — сэкономите кучу времени при отладке.
Под *nix нужен любой текстовый редактор, хоть vi, подойдет и eclipse =)
Ну и gcc разумеется.
Ни слова про MS, я разрабатываю под *nix.
Спасибо за идею, пригодится, когда буду расширяться =)
Подводные камни при работе с разделяемой памятью есть.
И расширяемости нет.
Сделал так только потому, что на данный момент все работает на одной машине и использовать для взаимодействия сокеты — все таки медленнее.
Например этот самый чат — самый характерный пример.
Здесь по сути при появлении нового сообщения в общем чате соединяется один клиент через сокет и передает сообщение демону.
После чего клиенты просто обнаруживают сообщение в разделяемой памяти и форматируют для вывода в браузер.
Отсутствует необходимость в куче подключений от всех клиентов через сокеты.
Оба используемых демона — многопоточны.
Но вид взаимодействия (разделяемая память + UNIX сокеты) накладывает ограничения на расширяемость. С другой стороны, для одной машины — это самый быстродействующий вариант.
Однако переработка движка для возможности распределять нагрузку на несколько серверов — в планах конечно.