![]() |
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
(SQL Server) 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.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @socket int EXEC @hr = sp_OACreate 'Chilkat.Socket', @socket OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @socket, 'Connect', @success OUT, '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. DECLARE @socket_for_sending int EXEC @hr = sp_OACreate 'Chilkat.Socket', @socket_for_sending OUT EXEC sp_OAMethod @socket, 'DupSocket', @success OUT, @socket_for_sending IF @success = 0 BEGIN EXEC sp_OAGetProperty @socket, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @socket EXEC @hr = sp_OADestroy @socket_for_sending RETURN END DECLARE @socket_for_monitor int EXEC @hr = sp_OACreate 'Chilkat.Socket', @socket_for_monitor OUT EXEC sp_OAMethod @socket, 'DupSocket', @success OUT, @socket_for_monitor IF @success = 0 BEGIN EXEC sp_OAGetProperty @socket, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @socket EXEC @hr = sp_OADestroy @socket_for_sending EXEC @hr = sp_OADestroy @socket_for_monitor RETURN END -- All three socket objects: socket, socket_for_sending, and socket_for_monitor share the same underlying connection. EXEC @hr = sp_OADestroy @socket EXEC @hr = sp_OADestroy @socket_for_sending EXEC @hr = sp_OADestroy @socket_for_monitor END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.