Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
(Ruby) Debugging with Socket Session LoggingDebugging 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 = true. 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. Downloads for Windows/Linux and Install Instructions require 'chilkat' socket = Chilkat::CkSocket.new() success = socket.UnlockComponent("Anything for 30-day trial") if (success != true) print socket.lastErrorText() + "\n"; exit end # Enable session logging: socket.put_KeepSessionLog(true) socket.put_SessionLogEncoding("esc") # To demonstrate session logging, we'll connect to an # HTTP server and download the HTTP response header: ssl = false maxWaitMillisec = 20000 success = socket.Connect("www.chilkatsoft.com",80,ssl,maxWaitMillisec) if (success != true) print socket.lastErrorText() + "\n"; exit end # Set maximum timeouts for reading an writing (in millisec) socket.put_MaxReadIdleMs(10000) socket.put_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 != true) print socket.lastErrorText() + "\n"; exit end # Read the response up to the first double CRLF: httpHeader = socket.receiveUntilMatch("\r\n\r\n") if (httpHeader == nil ) print socket.lastErrorText() + "\n"; exit end # Close the connection with the server # Wait a max of 20 seconds (20000 millsec) socket.Close(20000) # Display the session log: print socket.sessionLog() + "\n"; # Show the HTTP response header: print httpHeader + "\n"; |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.