Sample code for 30+ languages & platforms
Xbase++

Send BinData Contents over a Socket

See more Socket/SSL/TLS Examples

Demonstrates Socket.SendBd, which sends bytes from a BinData beginning at an offset. A numBytes of 0 sends from the offset through the end of the data.

Background. The BinData receive methods accumulate raw bytes in a BinData object. A single receive returns only what is currently available, whereas the counted receive waits for an exact number of bytes.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oSocket
LOCAL nBTls
LOCAL nMaxWaitMs
LOCAL oBd

nSuccess := 0

oSocket := CreateObject("Chilkat.Socket")

//  Connect to the server using TLS.
nBTls := 1
nMaxWaitMs := 5000
nSuccess := oSocket:Connect("example.com", 5000, nBTls, nMaxWaitMs)
IF (nSuccess == 0)
    ? oSocket:LastErrorText
    oSocket:destroy()
    RETURN
ENDIF

//  Place some bytes into a BinData to be sent.
oBd := CreateObject("Chilkat.BinData")
oBd:AppendString("message payload", "utf-8")

//  Send bytes from the BinData starting at the given offset.  A numBytes of 0 sends from the offset
//  through the end of the data.
nSuccess := oSocket:SendBd(oBd, 0, 0)
IF (nSuccess == 0)
    ? oSocket:LastErrorText
    oSocket:destroy()
    oBd:destroy()
    RETURN
ENDIF

? "Sent " + Str(oBd:NumBytes) + " bytes."

oSocket:destroy()
oBd:destroy()