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

Debugging with Socket Session Logging

Debugging with socket session logging.

The Chilkat Socket component provides properties for keeping a session log making it possible to see the exact bytes received and sent on a TCP/IP or SSL connection. To enable session logging, set the KeepSessionLog property = 1. The SessionLogEncoding property controls how binary, non-printable bytes are represented in the log. There are two possible settings: Possible values are "esc" and "hex". The default value is "esc".

When set to "hex", the bytes are encoded as a hexidecimalized string. The "esc" encoding is a C-string like encoding, and is more compact than hex if most of the data to be logged is text. Printable us-ascii chars are unmodified. Common "C" control chars are represented as "\r", "\n", "\t", etc. Non-printable and byte values greater than 0x80 are escaped using a backslash and hex encoding: \xHH. Certain printable chars are backslashed: SPACE, double-quote, single-quote, etc.

Download Chilkat Socket ActiveX

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

...

procedure TForm1.Button1Click(Sender: TObject);
var
socket: TChilkatSocket;
success: Integer;
ssl: Integer;
maxWaitMillisec: Integer;
httpGet: String;
httpHeader: String;

begin
socket := TChilkatSocket.Create(Self);

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

//  Enable session logging:
socket.KeepSessionLog := 1;
socket.SessionLogEncoding := 'esc';

//  To demonstrate session logging, we'll connect to an
//  HTTP server and download the HTTP response header:
ssl := 0;
maxWaitMillisec := 20000;
success := socket.Connect('www.chilkatsoft.com',80,ssl,maxWaitMillisec);
if (success <> 1) then
  begin
    ShowMessage(socket.LastErrorText);
    Exit;
  end;

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

//  The socket component includes a BuildHttpGetRequest
//  method for convenience. Build a GET and send it to
//  the web server:

httpGet := socket.BuildHttpGetRequest('http://www.chilkatsoft.com/');

//  Send it...
success := socket.SendString(httpGet);
if (success <> 1) then
  begin
    ShowMessage(socket.LastErrorText);
    Exit;
  end;

//  Read the response up to the first double CRLF:

httpHeader := socket.ReceiveUntilMatch('\r\n\r\n');
if (Length(httpHeader) = 0 ) then
  begin
    ShowMessage(socket.LastErrorText);
    Exit;
  end;

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

//  Display the session log:
Memo1.Lines.Add(socket.SessionLog);

//  Show the HTTP response header:
Memo1.Lines.Add(httpHeader);
end;

 

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

Mail Component · .NET Email Component · XML Parser