Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как переслать файл через nonBlocking сокет

Delphi , Интернет и Сети , Файлы и Интернет

Как переслать файл через nonBlocking сокет

Благодаря американской компьютеризированной системе выборов президента, тысячи российских хакеров смогли принять участие в голосовании...


//  а форме ServerSocket1, ClientSocket1 : (Active := False,
//  Host := localhost, Port := 2001, xType := xNonBlocking),
//  OpenDialog1, Button1, Memo1.

procedure TfmMain.FormCreate(Sender: TObject);
begin
  ServerSocket1.Active:=true;
  ClientSocket1.Active:=true;
end;

{--- Server ---}

procedure TfmMain.Button1Click(Sender: TObject);
var
  sStream : TMemoryStream;
begin
  sStream := TMemoryStream.Create;
  if not OpenDialog1.Execute then
    Exit;
  sStream.LoadFromFile(OpenDialog1.FileName);
  ServerSocket1.Socket.Connections[0].SendStreamThenDrop(sStream);
end;

{--- Client ---}

const
  MAX_BUF_SIZE = $4095;

var
  fStream: TFileStream;

{OnConnect}
procedure TfmMain.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  fStream:= TFileStream.Create('Receive.fil', fmCreate);
end;

{OnRead}
procedure TfmMain.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
  count :Integer;
  buffer: Array [0..MAX_BUF_SIZE] of Char;
begin
  repeat
    Socket.Lock;
    count:= Socket.ReceiveBuf(buffer,SizeOf(buffer));
    if count > 0 then
      fStream.WriteBuffer(buffer,count);
    Socket.Unlock;
   until (count <= 0);

   Memo1.Lines.Add(IntToStr(fStream.Size));
end;

{OnDisconnect}
procedure TfmMain.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
   fStream.Free;
end;


Статья Как переслать файл через nonBlocking сокет раздела Интернет и Сети Файлы и Интернет может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Файлы и Интернет ::


реклама

::


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
27.07.2021 14:35:08/0.00065112113952637/0