Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) Socket Receive String Until Specific Byte Value is ReceivedDemonstrates the Chilkat Socket ReceiveStringUntilByte method.
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set sock [new_CkSocket] # -------------------------------------------------------------------- # This example uses the public TCP echo service at https://tcpbin.com/ # -------------------------------------------------------------------- set useTls 0 set port 4242 set maxWaitMs 5000 set success [CkSocket_Connect $sock "tcpbin.com" $port $useTls $maxWaitMs] if {$success == 0} then { puts [CkSocket_lastErrorText $sock] delete_CkSocket $sock exit } # Wait a max of 2 seconds for a response.. CkSocket_put_MaxReadIdleMs $sock 2000 # Send some strings, each terminated by a 0 byte. CkSocket_SendString $sock "This is the 1st string" CkSocket_SendByte $sock 0 CkSocket_SendString $sock "This is string number 2" CkSocket_SendByte $sock 0 # The tcpbin.com echo server only echoes after receiving an LF (linefeed char) CkSocket_SendByte $sock 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) set lookForByte 0 set s1 [CkSocket_receiveStringUntilByte $sock $lookForByte] if {[CkSocket_get_LastMethodSuccess $sock] == 0} then { puts [CkSocket_lastErrorText $sock] delete_CkSocket $sock exit } puts "$s1" set s2 [CkSocket_receiveStringUntilByte $sock $lookForByte] if {[CkSocket_get_LastMethodSuccess $sock] == 0} then { puts [CkSocket_lastErrorText $sock] delete_CkSocket $sock exit } puts "$s2" # The echo server will also echo back the final LF CkSocket_ReceiveByte $sock 1 set maxWaitMs 100 CkSocket_Close $sock 100 # Output: # This is the 1st string # This is string number 2 delete_CkSocket $sock |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.