![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Example: Socket.DupSocket methodSee more Socket/SSL/TLS ExamplesDemonstrates how to call the DupSocket method.Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkSocket.pb" Procedure ChilkatExample() socket.i = CkSocket::ckCreate() If socket.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i = CkSocket::ckConnect(socket,"example.com",443,1,5000) ; ... ; ... ; Duplicate the socket to share the same connection across threads. ; In a multithreaded application, each thread should use its own socket object. For example: ; - The main thread can use the original socket for reading. ; - A secondary thread can use a duplicate for writing. ; - Another thread can use a separate duplicate to monitor the connection status. socket_for_sending.i = CkSocket::ckCreate() If socket_for_sending.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkSocket::ckDupSocket(socket,socket_for_sending) If success = 0 Debug CkSocket::ckLastErrorText(socket) CkSocket::ckDispose(socket) CkSocket::ckDispose(socket_for_sending) ProcedureReturn EndIf socket_for_monitor.i = CkSocket::ckCreate() If socket_for_monitor.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkSocket::ckDupSocket(socket,socket_for_monitor) If success = 0 Debug CkSocket::ckLastErrorText(socket) CkSocket::ckDispose(socket) CkSocket::ckDispose(socket_for_sending) CkSocket::ckDispose(socket_for_monitor) ProcedureReturn EndIf ; All three socket objects: socket, socket_for_sending, and socket_for_monitor share the same underlying connection. CkSocket::ckDispose(socket) CkSocket::ckDispose(socket_for_sending) CkSocket::ckDispose(socket_for_monitor) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.