Chilkat HOME Android™ ASP Visual Basic VB.NET C# iOS (IPhone) Objective-C C++ C Unicode C++ Unicode C MFC Delphi DLL Delphi ActiveX FoxPro Java Perl PHP Extension PHP ActiveX Python PowerShell Ruby SQL Server VBScript
(Perl) Asynchronous SSL Client ExampleDemonstrates how to connect to an SSL server, send a simple message, receive a simple response, and disconnect. This example uses the asynchronous methods to connect, send, and receive.
use chilkat(); $socket = new chilkat::CkSocket(); $success = $socket->UnlockComponent("Anything for 30-day trial"); if ($success != 1) { print $socket->lastErrorText() . "\r\n"; exit; } $ssl = 1; $maxWaitMillisec = 20000; # The SSL server hostname may be an IP address, a domain name, # or "localhost". You'll need to change this: $sslServerHost = "123.123.88.88"; $sslServerPort = 8123; # Connect to the SSL server asynchronously in a background thread. $success = $socket->AsyncConnectStart($sslServerHost,$sslServerPort,$ssl,$maxWaitMillisec); if ($success != 1) { print $socket->lastErrorText() . "\r\n"; exit; } # Wait for the socket to become connected... while (($socket->get_AsyncConnectFinished() != 1)) { # Sleep 1 second. $socket->SleepMs(1000); } # Did the connect fail? if ($socket->get_AsyncConnectSuccess() != 1) { print $socket->asyncConnectLog() . "\r\n"; exit; } # Set maximum timeouts for reading an writing (in millisec) $socket->put_MaxReadIdleMs(20000); $socket->put_MaxSendIdleMs(20000); # Send a "Hello Server! -EOM-" message: $success = $socket->AsyncSendString("Hello Server! -EOM-"); if ($success != 1) { print $socket->lastErrorText() . "\r\n"; exit; } # Wait for the send to finish while (($socket->get_AsyncSendFinished() != 1)) { # Sleep 1 second. $socket->SleepMs(1000); } # Did the send fail? if ($socket->get_AsyncSendSuccess() != 1) { print $socket->asyncSendLog() . "\r\n"; exit; } # The server (in this example) is going to send a "Hello Client! -EOM-" # message. Begin reading asynchronously in a background thread: $success = $socket->AsyncReceiveUntilMatch("-EOM-"); if ($success != 1) { print $socket->lastErrorText() . "\r\n"; exit; } # Wait for the background read to finish while (($socket->get_AsyncReceiveFinished() != 1)) { # Sleep 1 second. $socket->SleepMs(1000); } # Did the receive fail? if ($socket->get_AsyncReceiveSuccess() != 1) { print $socket->asyncReceiveLog() . "\r\n"; exit; } # Display the received message: print $socket->asyncReceivedString() . "\n"; # Close the connection with the server # Wait a max of 20 seconds (20000 millsec) $socket->Close(20000); |
© 2000-2013 Chilkat Software, Inc. All Rights Reserved.