Sample code for 30+ languages & platforms
PowerBuilder

Receive a Line Terminated by CRLF

See more Socket/SSL/TLS Examples

Demonstrates Socket.ReceiveToCRLF, which receives text through a CRLF line terminator and returns the text including the terminator.

Background. Chilkat encodes CR followed by LF using StringCharset and searches the incoming byte stream for that exact sequence. This is convenient for line-oriented text protocols.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Socket
integer li_BTls
integer li_MaxWaitMs
string ls_Command
string ls_ResponseLine

li_Success = 0

loo_Socket = create oleobject
li_rc = loo_Socket.ConnectToNewObject("Chilkat.Socket")
if li_rc < 0 then
    destroy loo_Socket
    MessageBox("Error","Connecting to COM object failed")
    return
end if

//  Connect to the server using TLS.  The 3rd argument enables the TLS handshake after the TCP
//  connection succeeds; the 4th is the maximum time to wait, in milliseconds.
li_BTls = 1
li_MaxWaitMs = 5000
li_Success = loo_Socket.Connect("example.com",5000,li_BTls,li_MaxWaitMs)
if li_Success = 0 then
    Write-Debug loo_Socket.LastErrorText
    destroy loo_Socket
    return
end if

//  StringCharset controls the character encoding used when sending and receiving text.
loo_Socket.StringCharset = "utf-8"
//  Send a request using a simple application-defined text protocol in which each message ends with a
//  CRLF.
ls_Command = "STATUS~r~n"
li_Success = loo_Socket.SendString(ls_Command)
if li_Success = 0 then
    Write-Debug loo_Socket.LastErrorText
    destroy loo_Socket
    return
end if

//  Receive text through a CRLF line terminator, returning the text including the terminator.  This is
//  convenient for line-oriented text protocols in which each response is a CRLF-terminated line.
ls_ResponseLine = loo_Socket.ReceiveToCRLF()
if loo_Socket.LastMethodSuccess = 0 then
    Write-Debug loo_Socket.LastErrorText
    destroy loo_Socket
    return
end if

Write-Debug ls_ResponseLine


destroy loo_Socket