Я выше проекты выложил, на которых экспериментирую. Я уже сам понял, что сам механизм из примеров, заголовок не добавляет, в этом видимо и проблема.Ichthyander писал(а):Даете мало информации. Тут варианты могут быть разные.
1. Кодировка страницы в HTML коде не указана? (Можно пример HTML страницы?)
2. И/или кириллица код кодируется вместо UTF8 в ANSI (или как вариант вообще неправильно кодируется).
От этого тогда и будем отталкиваться
fpweb встроенный web сервер
Модератор: Модераторы
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
В примерах просто не указан как создается весь документ, показано только создание формы (в смысле содержание внутри тега <form>). Я глянул в ваш проект, там создается только тело - форма. Где создается все остальное, в том числе <head> не понятно. Видимо просто не создается. Так что, да нужно добавить в HTML документ мета теги, в вашем случае, как минимум: <meta http-equiv="content-type" content="text/html; charset=utf-8" /> (Вам написал Sharfik) и добавить его, к примеру, как написал grot.
Наверняка можно как то и непосредственно вставить этот мета тег в выходной HTML документ. ПРосто я не очень хорошо знаком с лазарусовским нативным веб-сервером (я использую брук веб-сервер).
Наверняка можно как то и непосредственно вставить этот мета тег в выходной HTML документ. ПРосто я не очень хорошо знаком с лазарусовским нативным веб-сервером (я использую брук веб-сервер).
Посмотрел тут примеры. И возник вопрос: А как создать сервер с пулом процессов на каждое подключение? Вроде всё есть, но как?
Что бы не по кнопки, как в одном из примеров, а сам создавал поток.
Что бы не по кнопки, как в одном из примеров, а сам создавал поток.
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
А нужен именно ThreadPooling или просто многопоточность (на каждый запрос создается поток)? Если последнее, то просто включаешь флаг MultiThreading у сервераTango писал(а):Посмотрел тут примеры. И возник вопрос: А как создать сервер с пулом процессов на каждое подключение? Вроде всё есть, но как?
Код: Выделить всё
Application.threaded := true;Код: Выделить всё
Что бы не по кнопки, как в одном из примеров, а сам создавал поток.Обычно в классическом веб-сервере все работает довольно просто: в отдельном потоке крутится цикл "проверки запроса" и поскольку обработка каждого запроса идет достаточно быстро то смысла порождать дополнительные потоки довольно мало, но если некая задача требует реально много времени для выполнения запроса, то сервер запускает отдельный поток ( но необязательно через TThread ), ( клиенту выдается банер типа "Ждите, произвожу поиск в БД...") и возвращает управление главному циклу "проверки запроса". ( при повторном запросе который на стороне клиента может выдавить и банальный скрипт с таймером просто проверяется окончание обработки задачи ( например консольной утилитой ) и или снова выдаёт банер ожидания или выкатывает долгожданный результат работы )Tango писал(а):Посмотрел тут примеры. И возник вопрос: А как создать сервер с пулом процессов на каждое подключение? Вроде всё есть, но как?
Что бы не по кнопки, как в одном из примеров, а сам создавал поток.
Такая вроде бы совершенно асинхронная и кривая система вполне работает по причине наличия "стека запросов" и того что клиент будет гнать повторы запросов до получения ответа или завершения таймаута .
Разумеется для реальной работы, нужно отслеживать каждый зашедший на сайт клиент и "контекстно" отвечать именно ему .
( Хотя чистый гипертекст вполне можно вдавить "на общих основаниях " и что забавно, этому самому простому режиму работы сервера почти не страшен никакой ДДОС )
