Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Сокеты   Найти похожие ветки 

 
BJValentine ©   (2004-04-01 16:20) [0]

В обработчике события чтения на клиентском сокете пытаюсь открыть другое соединение (использую для этого другой компонент TClientSocket).

  TS.Active:=true;
  TS.Socket.SendText("???");

Ошибок не выдаёт, но ничего не отправляет. Запустил отладку, выяснилось что и Active=false не смотря на TS.Active:=true;  Где тут камень?


 
Digitman ©   (2004-04-01 16:29) [1]


> Где тут камень?


"камень" - в НЕблокирующем рещиме работы того, на что ссылается TS


 
BJValentine ©   (2004-04-01 19:12) [2]

Точно, в нём. Но я не могу разобраться, как мне поступить в этой ситуации: Я принимаю ответ с сервера и в зависимости от его ответа хочу ему отправить данные (в этом же обработчике). Что мне нужно сделать, чтобы этого добиться?


 
Digitman ©   (2004-04-02 08:14) [3]


> Я принимаю ответ с сервера


где же принимаешь ? из кода видно, что первым делом , сразу за Open, ты пытаешься что-то послать серверу !


> не могу разобраться, как мне поступить в этой ситуации


в какой конкретно ? на каком режиме ты остановил свой выбор ?


 
Digitman ©   (2004-04-02 08:17) [4]

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

тем не менее - какой режим вибираешь ?


 
Verg ©   (2004-04-02 09:19) [5]


> BJValentine ©   (01.04.04 19:12) [2]
> Точно, в нём. Но я не могу разобраться, как мне поступить
> в этой ситуации: Я принимаю ответ с сервера и в зависимости
> от его ответа хочу ему отправить данные (в этом же обработчике).
> Что мне нужно сделать, чтобы этого добиться?


Ну так и отправляй Socket.SendBuf - в чем проблема?

Вот если бы надо было в этом обработчике отправить данные какому-либо другому серверу, т.е. установить другое соединение, то тогда да, тут немного все сложнее в асинхронном режим (неблокирующем).


 
BJValentine ©   (2004-04-02 10:44) [6]

> тем не менее - какой режим вибираешь ?

Неблокирующий режим выбираю. Хочется чтобы сервер и клиент общались по событиям. А что, SendBuf будет работать?

Я так понял, что нужно про это внимательно почитать, но где? Может кто ссылку знает. На этом сайте я читал статьи, но там немного не понятно для начинающего описано. Хотя бы про неблокирующий режим.


 
Digitman ©   (2004-04-02 11:49) [7]


> Хочется чтобы сервер и клиент общались по событиям. А что,
> SendBuf будет работать?


Ну раз хочется, то никто и ничто этому не мешает
Конечно будет ! Куда он денется-то)


> нужно про это внимательно почитать, но где?


ну хотя бы для начала в станд.хэлпе к методу TCustomWinSocket.SendBuf()

попробуй вчитаться в каждую фразу описания и понять, о чем идет речь .. а о том , что будет непонятно после внимательного изучения материала, побеседуем уже в конкретностях, ок ?


 
BJValentine ©   (2004-04-02 11:59) [8]

Ok



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-1083871797
Студент_
2004-05-06 23:29
2004.05.23
Свой Object Inspector


8-1078199479
Алексей Петухов
2004-03-02 06:51
2004.05.23
Тэги в Видеофайлах


14-1083742105
X9
2004-05-05 11:28
2004.05.23
Конвертер ASM в Pascal


1-1083847521
Алексей Петухов
2004-05-06 16:45
2004.05.23
Своя панель как Compotent Palette из Delphi


1-1084274660
DimonNew
2004-05-11 15:24
2004.05.23
qtintf70.dll