СообЧа > База Знаний > Программирование > Delphi

Вопрос

Помогите прояснить ситуацию с компонентом tserversocket. Как принять информацию с помощью socket.receivebuf? И как кинуть принятую информацию в untyped файл?

Ответ

Проясняю ситуация с компонентом TServerSocket — исходники лежат в файле %DELPHI%\Source\INTERNET\scktcomp.pas его свойство .socket имеет тип TServerWinSocket, исходники которого также лежат в этом файле. Метод ReceiveBuf принадлежит предку — TServerSocket, которому Вы должны передать буфер и размер этого буфера, например так

var buf:array[1..100] of byte; Num:integer; … Num:=YourServerSocket.Socket.ReceiveBuf(buf[1],100); writeln('получено ',num,' байт:'); if num > 0 then for ind:=1 to num do write(buf[ind]);

> И как кинуть принятую информацию в untyped файл?

Не стоит использовать этот тип файла — все гораздо проще

var ff:file of byte;

numWritenBiytes:Integer;



BlockWrite(ff,buf[1],num,numWritenBiytes);

Честно говоря, мне еще не попадался компонент, с которым было бы удобнее работать, чем напрямую с функциями из модуля WinSock %DELPHI%\Source\RTL\WIN\winsock.pas

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация