Форум: "Сети";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
ВнизКак сделать тоже самое только под в Delphi 3 Найти похожие ветки
← →
Piero (2005-09-19 15:34) [0]Нужно переделать программу приема - передачи для Delphi 3, в 6й Delphi это работает, а как переделать для 3-й, какими компонентами надо пользоваться? TTCP или еще как-то?
//Это прием
var i : integer;
m : byte;
a : byte;
b : array [0..10000] of byte;
ttmp: file of byte;
t1 : file of byte;
begin
try
checkfile(FilenameEdit1.Text);
assignfile(t1,FilenameEdit1.Text);
reset(t1);
seek(t1,filesize(t1));
m:=Socket.ReceiveLength;
if m=0 then begin closefile(t1); exit; end;
Memo1.Lines.add("<--- Принято "+inttostr(m)+" байт");
for i := 0 to m do
begin
socket.ReceiveBuf(a,1);
b[i]:=a;
write(t1,a);
end;
closefile(t1);
except
Memo1.Lines.add("Ошибка при приеме данных");
end;
end;
// Передача
var b : array [0..10000] of byte;
i : integer;
by : char;
t2 : file of byte;
begin
if not fileexists(FilenameEdit2.Text) then
begin
Memo1.Lines.add("# Файл вых. данных не готов для чтения");
exit;
end;
try
assignfile(t2,FilenameEdit2.Text);
reset(t2);
seek(t2,0);
i:=0;
while not eof(t2) do
begin
read(t2,b[i]);
i:=i+1;
end; //while
closefile(t2);
clientSocket1.Open;
clientSocket1.Socket.SendBuf(b,i);
memo1.Lines.Add("---> Отправленно "+inttostr(i)+" байт");
except
Memo1.Lines.add("# Ошибка при передаче данных");
end;
end;
------------------------------------------------------------
и еще вопрос если делать так:
clientSocket1.Open;
clientSocket1.Socket.SendBuf(b,i);
clientSocket1.close;
то данные не успевают передаться, до того как clientSocket1 закроется, как сделать так что бы он закрывался после передачи, ведь специального свойства нет.
← →
Чапаев © (2005-09-19 16:47) [1]TClientSocket|TServerSocket
Есть только в версии клиент-сервер.
← →
Piero (2005-09-20 15:41) [2]а можно где нибудь достать эти компаненты ?
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c