Delphi Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

Receive File on Socket

Demonstrates how to listen for an incoming socket connection and receive a file. The received file is saved to disk.

Download Chilkat FileAccess ActiveX (freeware)

Download Chilkat Socket ActiveX

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATFILEACCESSLib_TLB,
    CHILKATSOCKETLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
listenSocket: TChilkatSocket;
success: Integer;
connectedSocket: IChilkatSocket;
fileSize: Integer;
fileData: Array of Byte;
fac: TCkFileAccess;

begin
listenSocket := TChilkatSocket.Create(Self);

success := listenSocket.UnlockComponent('Anything for 30-day trial');
if (success <> 1) then
  begin
    ShowMessage('Failed to unlock component');
    Exit;
  end;

//  Bind to a port and listen for incoming connections:
//  This example will listen at port 5555 and allows for a backlog
//  of 25 pending connection requests.
success := listenSocket.BindAndListen(5555,25);
if (success <> 1) then
  begin
    ShowMessage(listenSocket.LastErrorText);
    Exit;
  end;

//  Get the next incoming connection
//  Wait a maximum of 20 seconds (20000 millisec)

connectedSocket := listenSocket.AcceptNextConnection(20000);
if (connectedSocket = nil ) then
  begin
    ShowMessage(listenSocket.LastErrorText);
    Exit;
  end;

//  Set maximum timeouts for reading an writing (in millisec)
connectedSocket.MaxReadIdleMs := 10000;
connectedSocket.MaxSendIdleMs := 10000;

//  Receive the byte count of the file data that is forthcoming:

fileSize := connectedSocket.ReceiveCount();
if (fileSize < 0) then
  begin
    ShowMessage(connectedSocket.LastErrorText);
    Exit;
  end;

fileData := connectedSocket.ReceiveBytesN(fileSize);
if (connectedSocket.LastMethodFailed = 1) then
  begin
    ShowMessage(connectedSocket.LastErrorText);
    Exit;
  end;

//  Close the connection.
//  Wait a max of 20 seconds (20000 millsec)
connectedSocket.Close(20000);

//  Write the received data to a file.
//  This example receives a GIF image file.
fac := TCkFileAccess.Create(Self);

success := fac.WriteEntireFile('received.gif',fileData);
if (success <> 1) then
  begin
    ShowMessage(listenSocket.LastErrorText);
    Exit;
  end;

ShowMessage('success!');
end;

 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser