Xbase++
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
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()