Sample code for 30+ languages & platforms
Ruby

Duplicate a Socket Wrapper Sharing the Connection

See more Socket/SSL/TLS Examples

Demonstrates Socket.DupSocket, which populates a destination Socket with another wrapper that shares this object's underlying connection.

Background. The shared connection is reference-counted, and all wrappers operate on the same live connection. The destination first releases any connection it previously held.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

socket = Chilkat::CkSocket.new()

#  Connect to the server using TLS.
bTls = true
maxWaitMs = 5000
success = socket.Connect("example.com",5000,bTls,maxWaitMs)
if (success == false)
    print socket.lastErrorText() + "\n";
    exit
end

#  Create a second Socket wrapper that shares this object's underlying connection.  Both wrappers
#  operate on the same live connection; the shared connection is reference-counted.
dupSock = Chilkat::CkSocket.new()
success = socket.DupSocket(dupSock)
if (success == false)
    print socket.lastErrorText() + "\n";
    exit
end

print "Duplicate socket wrapper created." + "\n";