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

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

TServerSocket в консольном приложении (типа, без форм) [D5, D7, Win95/98, WinXP]


Страницы:   1 2 3 4

maxistent ©   (2004-09-20 17:28:00) 

Уважаемые Мастера и все кто здесь! Не погёте ли мне с вопросом: надо написать консольное приложение с использованием TServerSocket (коннектить, читать клиентов, писать им). Надо бы мне прогу без форм, но с TServerSocket. Как это замудрить? Можь у кого код (или его часть) есть, а?


VMcL   (2004-09-21 17:34:00) [61]

>> maxistent ©  (21.09.04 17:05) [5]

Вроде, как-то так:

program Test;

uses
 Windows, ...;

type
 TWorkClass = class(TObject)
 private
   FFlag: Boolean;
   FServer: TServerSocket;
   procedure ServerConnect(Sender: TObject);
   // ...
 public
   constructor Create;
   destructor Destroy; override;

   // ...

   property Flag: Boolean read FFlag;
 end;

constructor TWorkClass.Create;
begin
 inherited Create;
 FServer := TServerSocket.Create(nil);
 FServer.OnConnect := ServerConnect; // не помню, может event по-другому называется
end;

// ...
// Где-то тут происходит установка флага Flag в True

destructor TWorkClass.Destroy;
begin
 FServer.Free;
 inherited Destroy;
end;

begin
 with TWorkClass.Create do
   while not Flag do
     Sleep(1);
end.


maxistent   (2004-09-21 17:05:00) [62]


> Server.OnConnect := ...

А дальше-то что?.. Может кусочек сорца есть, а? Буду рад...


VMcL   (2004-09-20 19:39:00) [63]

>> maxistent ©  (20.09.04 19:25) [3]

Server.OnConnect := ...

P.S. Учи матчасть. Без неё ой как тяжко.


maxistent   (2004-09-20 19:25:00) [64]


> Server := TServerSocker.Create(Nil);

Да, сложность не в этом. Сложность в том, что я не знаю, как узнавать о его коннекте/дисконнекте с клиентами, принимать, обрабатывать и отправлять сообщения :) ВОТ В ЧЁМ СЛОЖНОСТЬ!


VMcL   (2004-09-20 19:10:00) [65]

>> Defunct ©  (20.09.04 18:15) [1]

Сложность в том, что если сокет в не блокирующем режиме, то нужно самостоятельно организовать цикл выборки сообщений.


Defunct   (2004-09-20 18:15:00) [66]

а в чем сложность?

Server := TServerSocker.Create(Nil);


Страницы:   1 2 3 4

Наверх

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