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

Вниз

Как дождаться соединения асинхронного сокета?   Найти похожие ветки 

 
alexEagle ©   (2003-12-25 16:05) [0]

FSocket это TClientSocket

FSocket.Host := ...;
FSocket.Port := ...;
FSocket.Active := true;

И вот здесь мне узнать соединился ли я с сервером не используя OnConnect.


 
Polevi ©   (2003-12-25 16:09) [1]

OnWrite подойдет ?


 
alexEagle ©   (2003-12-25 16:24) [2]

Нет, события вообще не подойдут, хотелось бы это узнать сразу после FSocket.Active := true;
Я пробовал делать так:
nRes := select(0, nil, @FDSet, nil, @TimeVal);
if nRes = 0 then begin
FSocket.Active := false;
FLastError := "


 
alexEagle ©   (2003-12-25 16:27) [3]

Кстати, может у кого то есть примеры как на делфи работать исключительно АПИ-шными функциями при работе с сокетами, а то у меня получается некоторая проблема:
1. Соединение мне нужно установить синхронно.
2. Получать данные асинхронно кроме случая когда мне нужно получить ответ на посланную мне команду.

Может кто посоветует?


 
Polevi ©   (2003-12-25 16:31) [4]

http://delphimaster.net/view/6-1072263854/
режим работы гнезда можно менять в любой момент, см ioctlsocket


 
Digitman ©   (2003-12-25 16:38) [5]


> Соединение мне нужно установить синхронно


что за блажь ?


 
SergP ©   (2003-12-25 19:26) [6]


> FSocket.Active := true;
>
> И вот здесь мне узнать соединился ли я с сервером не используя
> OnConnect.


Ну и как это ты себе представляешь? Ведь после того как ты делаешь FSocket.Active := true; сокет соединяется не сразу а ему нужно некоторое время...
Разве что можно поставить цикл для ожидания конекта... В таком случае используй какую нить переменную (флаг) которая будет устанавливаться в OnConnect, а цикл будет постоянно ее (переменную) проверять....


 
Polevi ©   (2003-12-26 09:50) [7]

>SergP © (25.12.03 19:26) [6]
не давай плохих советов, плиз


 
SergP ©   (2003-12-26 11:02) [8]


> Polevi © (26.12.03 09:50) [7]
> >SergP © (25.12.03 19:26) [6]
> не давай плохих советов, плиз


Ладно. Не буду.. Только объясните мне плиз зачем проверять соединился ли сокет сразу же после:
FSocket.Active := true;

Может я что-то не понимаю, но имхо ответ всегда будет однозначный - "не соединился"...


 
Polevi ©   (2003-12-26 16:21) [9]

>SergP © (26.12.03 11:02) [8]
это зависит от режима гнезда


 
имя   (2003-12-26 17:49) [10]

Удалено модератором
Примечание: Клоуны нам не нужны ...


 
Polevi ©   (2003-12-26 19:03) [11]

Удалено модератором



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
3-5970
ALEX2
2004-02-05 13:27
2004.03.03
Поле типа boolean проставляется автоматически


1-6115
Miwa
2004-02-20 17:18
2004.03.03
Как в TStringList.AddObject вместо объекта integer засунуть?


3-5973
phantom2040
2004-02-05 13:34
2004.03.03
По набивке таблицы


3-5987
AlexLine
2004-02-04 10:06
2004.03.03
DbCtrlGrid


14-6216
Shaman
2004-02-11 13:06
2004.03.03
Глюк: пропадают изображения в иконках на рабочем столе