DataFlex
DataFlex
TCP Socket Send Byte and Receive Byte
Demonstrates the Chilkat Socket ReceiveByte and SendByte method.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoSock
Boolean iUseTls
Integer iPort
Integer iMaxWaitMs
Boolean iTreatAsUnsignedInt
String sTemp1
Integer iTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatSocket)) To hoSock
If (Not(IsComObjectCreated(hoSock))) Begin
Send CreateComObject of hoSock
End
// --------------------------------------------------------------------
// This example uses the public TCP echo service at https://tcpbin.com/
// --------------------------------------------------------------------
Move False To iUseTls
Move 4242 To iPort
Move 5000 To iMaxWaitMs
Get ComConnect Of hoSock "tcpbin.com" iPort iUseTls iMaxWaitMs To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoSock To sTemp1
Showln sTemp1
Procedure_Return
End
// Wait a max of 2 seconds for a response..
Set ComMaxReadIdleMs Of hoSock To 2000
// Send a byte.
Get ComSendByte Of hoSock 96 To iSuccess
// The tcpbin.com echo server only echoes after receiving an LF (linefeed char)
Get ComSendByte Of hoSock 10 To iSuccess
// The echo server will echo back whatever is sent to it.
// We should be able to read the same byte back..
// After successfully reading, the byte value is available in the ReceivedInt property.
Move True To iTreatAsUnsignedInt
Get ComReceiveByte Of hoSock iTreatAsUnsignedInt To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoSock To sTemp1
Showln sTemp1
Procedure_Return
End
// Let's look at the value of the byte received. It should be 96.
Get ComReceivedInt Of hoSock To iTemp1
Showln iTemp1
// The echo server also echoed the LF back.
Get ComReceiveByte Of hoSock iTreatAsUnsignedInt To iSuccess
// Assuming success..
// Should be decimal 10.
Get ComReceivedInt Of hoSock To iTemp1
Showln iTemp1
End_Procedure