Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прога без окна


Страницы:   1 2

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 клиентов.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо