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. Как это замудрить? Можь у кого код (или его часть) есть, а?


kaZaNoVa   (2004-10-02 19:13:00) [21]

maxistent ©   (02.10.04 9:18) [45]
ага .. Гы .. :)


maxistent   (2004-10-02 09:18:00) [22]

короче, оффтоп... :)


DHDD   (2004-10-02 05:48:00) [23]

Лучше не используй T...Socket. Он параллельный, нужно писать алгоритм проверки CRC, и то он поможет ~ на 60%. Лучше используй Indy: TidSocket,TidClient - он последовательный с Thread'ом, ошибок не бывает. (Indy - Internet Direct)
Для начала возьми пример в Demos для Indy, отладь на работоспособность, а потом локализуй до проекта без unit'ов.
Если будут проблемы локализации - задавай новый вопрос: этот тебе уже понаотвечали.


VMcL   (2004-10-02 05:23:00) [24]

>> maxistent ©  (01.10.04 16:50) [38]

Ты либо глупец, либо...
На этом мысль останавливается.


Verg   (2004-10-02 00:23:00) [25]

Все, я устал...


kaZaNoVa   (2004-10-01 22:44:00) [26]

maxistent ©   (01.10.04 16:53) [39]
ну, как, работает ?


Digitman   (2004-10-01 17:17:00) [27]


> maxistent ©   (01.10.04 16:50) [38]


ты чего размлякался, а ?! Детский сад ?

ты думать головой намерен вообще или нет ? или не головой ? или не думать ?

Мухой в scktcomp.pas !
Читать текст класса TServerSocket до полного просветления !
Убедиться, что в ходе исполнения метода TServerSocket.Open создается окно , принимающее нотификационные сообщения гнезда о событиях транспорта !

Все !
Работай самостоятельно ! Голова дана не для пожирания пива !


maxistent   (2004-10-01 16:53:00) [28]

...пардон за ошибку во втором слове: НИКАКИХи слово ЧТОперед ЗАКОННЕКТИЛСЯ:)


maxistent   (2004-10-01 16:50:00) [29]

мля! накаких окнОВ-адресатов нет! Моя задача написать прогу, которая САМА должна определить, что законнектился ли клиент. Затем передать пару-тройку стрингов (типа, команд) и, наконец, потом "сидеть" и читать то, что приходит от клиента. В зависимости от принятого текста выполнять к.л. действия.


Digitman   (2004-10-01 11:19:00) [30]


> maxistent ©   (01.10.04 11:08) [36]


в дан.случае - никакие.
если того не требуют доп.условия в постановке задачи, то это не твоя забота - Dispatchmessage() самостоятельно "раздаст" сообщения окнам-адресатам


maxistent   (2004-10-01 11:08:00) [31]

вникнул. какие сообщения принимать от GetMessage? ИМЕННО ЭТОГО-ТО Я И НЕ ЗНАЮ!!! :)


Digitman   (2004-10-01 08:52:00) [32]


> maxistent ©   (30.09.04 17:43) [33]


ты не флуди, а вникни в [29]


kaZaNoVa   (2004-09-30 19:02:00) [33]

maxistent ©   (30.09.04 17:43) [33]
;))))))))))))


maxistent   (2004-09-30 17:43:00) [34]

Да Вы чё, с дубу рухнули?! Какие виропись трояноподобная?! Люди! Если здесь таковые имеются! Будьте человеками, а!..


kaZaNoVa   (2004-09-29 13:26:00) [35]

Digitman ©   (29.09.04 8:19) [31]
нет .. так вирусы не пишут ...
- имхо что-то трояноподобное ..


Digitman   (2004-09-29 08:19:00) [36]


> Polevi ©   (28.09.04 17:01) [30]


виропись, хочешь сказать ?)


Polevi   (2004-09-28 17:01:00) [37]

>Digitman ©   (28.09.04 13:43) [29]
думаю его пользовательский ввод с консоли мало волнует :)


Digitman   (2004-09-28 13:43:00) [38]


> КАК НАПИСАТЬ


как, как) ... чего ты раскричался-то ? кАком кверху ! ... известно как - головой и руками ...


> ЧТОБЫ ПРОГА МОГЛА ХОТЯ БЫ ПОКАЗАТЬ MessageBox


да нашута, скажи на милость, нужна консоль, если ты все равно намерен GUI использовать ? в виде хотя бы того же MessageBox ? ведь весь смысл использования консоли в этом случае пропадает !


> клиенты-то коннектются, а сервер об етом не знаеть


> здесь ставлю какой-нить цикл и сервак пашет


вот ты сам себе на вопрос и ответил - цикл нужен
тебе об этом еще Polevi ©   (23.09.04 12:54) [10] сказал

а цикл-то этот прост до безобразия

var
Msg: TMsg;

while GetMessage(Msg, 0, 0, 0) do
 DispatchMessage(Msg);

только вот консоль твоя на польз.ввод при этом реагировать не будет, да и сам цикл будет бесконечным

решение здесь тоже простое - при старте консоли создать доп.трэд, который, собственно, и будет создавать/уничтожать серв.компонент и работать с его событиями (цикл этот и в случае доп.трэда обязателен к реализации), после старта трэда "висеть", например, на readln, чтобы по команде юзера можно было терминировать созданный трэд (и, соотв-но, завершить работу серв.компонента)


maxistent   (2004-09-28 13:29:00) [39]

оп!.. ещё и глюк какой-то хапнул :) хе... не уж то я два разочка-то клинул <Добавить>? гм... а два и не получилось бы...


maxistent   (2004-09-28 13:26:00) [40]

эт уж точно издевательство!!!  КОНКРЕТНЫЙ ВОПРОС: КАК НАПИСАТЬ КОНСОЛЬНОЕ ПРИЛОЖЕНИЕ c TServerSocket, ЧТОБЫ ПРОГА МОГЛА ХОТЯ БЫ ПОКАЗАТЬ MessageBox С АДРЕСОМ КЛИЕНТА ИЛИ ПРИНЯТЫМ ТЕКСТОМ? Я деляю что-то вроде:


uses SockComp;{или типа того...}
var
s1:TServerSocket;
begin
s1:=TServerSocket.Create(nil);
s1.port:=1234;
s1.Active:=true;
{потом ещё что-то было - не помню...}
{здесь ставлю какой-нить цикл и сервак пашет...}
end.


клиенты-то коннектются, а сервер об етом не знаеть!!! Как быть? или не быть, а? Вы ж, блин, мастера или нет? Подмогните :) ...


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

Наверх

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