Sample code for 30+ languages & platforms
Visual FoxPro

Example: Socket.DupSocket method

See more Socket/SSL/TLS Examples

Demonstrates how to call the DupSocket method.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSocket
LOCAL loSocket_for_sending
LOCAL loSocket_for_monitor

lnSuccess = 0

loSocket = CreateObject('Chilkat.Socket')
lnSuccess = loSocket.Connect("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.

loSocket_for_sending = CreateObject('Chilkat.Socket')
lnSuccess = loSocket.DupSocket(loSocket_for_sending)
IF (lnSuccess = 0) THEN
    ? loSocket.LastErrorText
    RELEASE loSocket
    RELEASE loSocket_for_sending
    CANCEL
ENDIF

loSocket_for_monitor = CreateObject('Chilkat.Socket')
lnSuccess = loSocket.DupSocket(loSocket_for_monitor)
IF (lnSuccess = 0) THEN
    ? loSocket.LastErrorText
    RELEASE loSocket
    RELEASE loSocket_for_sending
    RELEASE loSocket_for_monitor
    CANCEL
ENDIF

* All three socket objects: socket, socket_for_sending, and socket_for_monitor share the same underlying connection.

RELEASE loSocket
RELEASE loSocket_for_sending
RELEASE loSocket_for_monitor