Sample code for 30+ languages & platforms
Visual Basic 6.0

Socket Receive String Until Specific Byte Value is Received

Demonstrates the Chilkat Socket ReceiveStringUntilByte method.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim sock As New ChilkatSocket

' --------------------------------------------------------------------
' This example uses the public TCP echo service at https://tcpbin.com/
' --------------------------------------------------------------------

Dim useTls As Long
useTls = 0
Dim port As Long
port = 4242
Dim maxWaitMs As Long
maxWaitMs = 5000
success = sock.Connect("tcpbin.com",port,useTls,maxWaitMs)
If (success = 0) Then
    Debug.Print sock.LastErrorText
    Exit Sub
End If

' Wait a max of 2 seconds for a response..
sock.MaxReadIdleMs = 2000

' Send some strings, each terminated by a 0 byte.
success = sock.SendString("This is the 1st string")
success = sock.SendByte(0)
success = sock.SendString("This is string number 2")
success = sock.SendByte(0)

' The tcpbin.com echo server only echoes after receiving an LF (linefeed char)
success = sock.SendByte(10)

' Now let's receive what is echoed back....
' Receive each string and the NULL byte.
' The call to ReceiveStringUntilByte will receive incoming data until the lookForByte is encountered.
' The lookForByte is receive and discarded (it is not returned in the string)
Dim lookForByte As Long
lookForByte = 0
Dim s1 As String
s1 = sock.ReceiveStringUntilByte(lookForByte)
If (sock.LastMethodSuccess = 0) Then
    Debug.Print sock.LastErrorText
    Exit Sub
End If

Debug.Print s1

Dim s2 As String
s2 = sock.ReceiveStringUntilByte(lookForByte)
If (sock.LastMethodSuccess = 0) Then
    Debug.Print sock.LastErrorText
    Exit Sub
End If

Debug.Print s2

' The echo server will also echo back the final LF
success = sock.ReceiveByte(1)
maxWaitMs = 100
success = sock.Close(100)

' Output:
' This is the 1st string
' This is string number 2