Форум: "Сети";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];
ВнизКак дождаться соединения асинхронного сокета? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c