169 похожих чатов

А есть асинхронные сервера? С настоящей асинхронностью

18 ответов

5 просмотров

HTTP.sys, в основе mORMot и TMS, очень хорошЪ.

Инди умеет асинхронный сервер поднимать

notme- Автор вопроса
Hemul GM
Инди умеет асинхронный сервер поднимать

Именно асинхронный или там на основе потоков?

Не знаю, что значит настоящий. Но вот brook как раз может и так и так. Еще пул режимы тоже есть

Renat Suleymanov
Не знаю, что значит настоящий. Но вот brook как ра...

Ему не нравится, когда сокет по факту создается блокирующий, а при получении данных создается поток на обработку запроса. И типа получается асинхронно, но сокет всё ещё блокирующий и не принимает другие запросы, когда принимает данные от клиента

В мире Delphi, есть несколько библиотек, заслуживающих внимания: Indy, честно, BSD sock, часто не умеют готовить. Overbyte ICS, раньше только winsock BrainPathWorx DX, BSD sock, незаслуженно отделенная. CleverInternetSuite, долго была "Алмаз негранненный", сейчас прям...уххх. Обвязки над HTTP.sys Прочие сильно мельче, прям мааленькие.

Hemul GM
Ему не нравится, когда сокет по факту создается бл...

Ну да, это не совсем асинхронный получается тогда

Renat Suleymanov
Ну да, это не совсем асинхронный получается тогда

Инди по умолчанию такой сокет создает и так работает

notme- Автор вопроса
Renat Suleymanov
Не знаю, что значит настоящий. Но вот brook как ра...

Когда вызовы чтения/отправки данных не блокируют поток, т.е. тут же возвращают управление

Hemul GM
Ему не нравится, когда сокет по факту создается бл...

Они все блокирующие, других не придумали, асинхронно через блокирующий в потоке делают. Весь винсок так сделан

Hemul GM
screenshot А это?

Я про него и говорю

Hemul GM
screenshot

Марс на инди чтоль реализован?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта