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
(DataFlex) Socket Send and Receive BinDataDemonstrates the Chilkat Socket ReceiveBdN and SendBd methods.
Use ChilkatAx-win32.pkg Procedure Test Handle hoSock Boolean iUseTls Integer iPort Integer iMaxWaitMs Boolean iSuccess Variant vBdToSend Handle hoBdToSend Integer i Integer iByteVal Variant vBdRecv Handle hoBdRecv String sTemp1 // 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 26 bytes contained in a Chilkat BinData Get Create (RefClass(cComChilkatBinData)) To hoBdToSend If (Not(IsComObjectCreated(hoBdToSend))) Begin Send CreateComObject of hoBdToSend End Move 0 To i Move 65 To iByteVal While (i < 26) Get ComAppendByte Of hoBdToSend iByteVal To iSuccess Move (iByteVal + 1) To iByteVal Move (i + 1) To i Loop // Send the contents of the BinData // Pass zero's in the 2nd and 3rd arguments to send the entire contents of the BinData. Get pvComObject of hoBdToSend to vBdToSend Get ComSendBd Of hoSock vBdToSend 0 0 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 bytes back.. Get Create (RefClass(cComChilkatBinData)) To hoBdRecv If (Not(IsComObjectCreated(hoBdRecv))) Begin Send CreateComObject of hoBdRecv End // Receive the 26 bytes previously sent, plus the LF char. Get pvComObject of hoBdRecv to vBdRecv Get ComReceiveBdN Of hoSock 27 vBdRecv To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoSock To sTemp1 Showln sTemp1 Procedure_Return End // Show the contents of bdRecv in hex format Get ComGetEncoded Of hoBdRecv "hex" To sTemp1 Showln sTemp1 // Output: 4142434445464748494A4B4C4D4E4F505152535455565758595A0A End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.