![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прога без окна
Ivolg © (2007-11-25 13:36:00)Привет. Мне необходимо сделать прогу без окна (просто скрыть окно не пойдет), чтобы она висела в процессе и работала. Как это можно сделать ?
Dennis I. Komarov (2007-11-26 15:14:00) [1]> Никто не говорил про окно(TForm).
Телепатор подсказывает, что автор вопроса говорил.
> [32] @!!ex © (26.11.07 13:24)
> > [31] Dennis I. Komarov © (26.11.07 12:53)
> Просто всю жизнбь работал с
> WSAAsyncSelect
> который как раз окошко требует, куда сообщения приходють.
Ну так VCL это же не круто :)
Сергей М. (2007-11-26 15:06:00) [2]
> всю жизнбь работал с
> WSAAsyncSelect
Жизнь прожита зря)
@!!ex (2007-11-26 13:24:00) [3]> [31] Dennis I. Komarov © (26.11.07 12:53)
Никто не говорил про окно(TForm).
Лично в моем понимании окно - это то, что создается с помощью CreateWindow... компоненты туда класть нельзя(без извращений я имею ввиду).
Просто всю жизнбь работал с
WSAAsyncSelect
который как раз окошко требует, куда сообщения приходють.
Dennis I. Komarov (2007-11-26 12:53:00) [4]Я чего-то не врубился: Каким образом связано онко (которое TForm) и сокет? Не, ну разве что "бросить компонент на форму" :)
Сергей М. (2007-11-26 11:40:00) [5]
> как при асинхронном вызове узнать, что данные пришли, без
> сообщений?
Вызовы не бывают "асинхронные", они бывают блокирующими и неблокирующими.
Синхронным и асинхронным бывает ввод/вывод.
Как узнать ? Оч просто - использую ф-цию [WSA[Event]]Select.
palva (2007-11-26 10:58:00) [6]Сокет слушает порт и висит. Когда что-то приходит, он запускает подпрограмму. Сам глубоко в это не вникал, но наверно, так.
@!!ex (2007-11-26 10:52:00) [7]Чего то я вообще не понимаю...
А как при асинхронном вызове узнать, что данные пришли, без сообщений??
Dennis I. Komarov (2007-11-26 09:28:00) [8]> [24] @!!ex © (25.11.07 16:38)
> > Инструментарий прямо под рукой - TTCPServer, TIdTCPServer.
>
> А как это, сокеты и без окон?
> А сообщения куда принимать??
Ну ты дал! Перетрудился что ли? Все игры виноваты :)
Сергей М. (2007-11-26 08:35:00) [9]
> @!!ex © (25.11.07 16:38) [24]
Представляешь, сокеты - они и в *nix сокеты.
А в *nix нет никаких окон.
Сергей М. (2007-11-26 08:32:00) [10]
> @!!ex © (25.11.07 16:38) [24]
> как это, сокеты и без окон?
А вот так)
Пусть это будет для тебя величайшим открытием)
> сообщения куда принимать?
Какие сообщения-то ?
@!!ex (2007-11-25 16:38:00) [11]> Инструментарий прямо под рукой - TTCPServer, TIdTCPServer.
А как это, сокеты и без окон?
А сообщения куда принимать??
Сергей М. (2007-11-25 15:09:00) [12]
> Ivolg
> Как это можно сделать ?
Сделать это очень просто.
А вот разжевывать тебе азы гораздо сложнее.
> если нужно сделать сервер, чтобы он ждал, когда клиент к
> нему приконнектится и с ним взаимодействовать, а потом по
> определенному сообщению от клиента вырубится ?
Нужно - сделай.
Инструментарий прямо под рукой - TTCPServer, TIdTCPServer.
Оба могут работать в блок.режиме, оба не создают и не требуют никаких окон.
Делай цикл - и вперед, с песней !
Anatoly Podgoretsky (2007-11-25 14:42:00) [13]> Ivolg (25.11.2007 14:21:21) [21]
А чего тут судить, тут наблюдать достаточно.
А "помогать" смысла нет, за эти годы нет изменений, все в холостую.
Ivolg (2007-11-25 14:21:00) [14]Anatoly Podgoretsky © (25.11.07 14:00) [13]
А что я умею или не умею это уже не вам судить. Разве сложно помочь, натолкнуть на правельное решение, вместо того, чтобы тут выпендриватся.
Zeqfreed (2007-11-25 14:17:00) [15]> Anatoly Podgoretsky © (25.11.07 14:15) [19]
Возможно, что и не хватит. Просто я речь-то вел о блокирующих операциях для одного клиента, а вы сразу на 30 тысяч набросились :)
Anatoly Podgoretsky (2007-11-25 14:15:00) [16]> Zeqfreed (25.11.2007 14:12:18) [18]
30 тысяч клиентов блокирующими операциями просто не возможно, посчитай сколько памяти нужно на один поток и все поймешь.
Zeqfreed (2007-11-25 14:12:00) [17]> Anatoly Podgoretsky © (25.11.07 14:10) [17]
Думаю, если обрабатывать 30 тысяч клиентов блокирующими операциями без потоков, то они не шибко довольны останутся.
Anatoly Podgoretsky (2007-11-25 14:10:00) [18]> Zeqfreed (25.11.2007 14:08:16) [16]
Можно, до ограничений Виндоус, а это где то порядка 30000. Заодно и идеология Дельфи - Driven Event Model, а не Линукс подход.
Zeqfreed (2007-11-25 14:08:00) [19]> Anatoly Podgoretsky © (25.11.07 14:04) [15]
А 30001 клиента уже без потоков никак :)
Anatoly Podgoretsky (2007-11-25 14:04:00) [20]> Zeqfreed (25.11.2007 14:03:14) [14]
Потоки не обязательны и при 30000 клиентов.