Форум: "Сети";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
ВнизIndy.... Найти похожие ветки
← →
Digitman (2002-01-22 08:48) [9]var
FDSet: TFDSet;
TimeVal: TTimeVal;
BytesToRead: Longint;
...
FD_ZERO(FDSet);
FD_SET(IdTCPClient.SocketHandle, FDSet);
TimeVal.tv_sec := 0;
TimeVal.tv_usec := 500;
if (select(0, @FDSet, nil, nil, @TimeVal) > 0) then //FD_READ ?
begin
ioctlsocket(IdTCPClient.SocketHandle, FIONREAD, BytesToRead); // буфер чтения не пуст ?
if BytesToRead > 0 then
.... IdTCPClient.ReadBuffer(.., BytesToRead, ...); // можно читать не более BytesToRead байт
end;
единственное, в чем не уверен, это - наличие у IdTCPClient св-ва SocketHandle. Оно может и по-другому называться, но суть от этого не меняется : зная хэндл кл.гнезда, можно вот таким образом корректно обратиться к нему для чтения вх.буфера
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.43 MB
Время: 0.006 c