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
(PowerBuilder) Socket Send and Receive BinDataDemonstrates the Chilkat Socket ReceiveBdN and SendBd methods.
integer li_rc oleobject loo_Sock integer li_UseTls integer li_Port integer li_MaxWaitMs integer li_Success oleobject loo_BdToSend integer i integer li_ByteVal oleobject loo_BdRecv // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Sock = create oleobject // Use "Chilkat_9_5_0.Socket" for versions of Chilkat < 10.0.0 li_rc = loo_Sock.ConnectToNewObject("Chilkat.Socket") if li_rc < 0 then destroy loo_Sock MessageBox("Error","Connecting to COM object failed") return end if // -------------------------------------------------------------------- // This example uses the public TCP echo service at https://tcpbin.com/ // -------------------------------------------------------------------- li_UseTls = 0 li_Port = 4242 li_MaxWaitMs = 5000 li_Success = loo_Sock.Connect("tcpbin.com",li_Port,li_UseTls,li_MaxWaitMs) if li_Success = 0 then Write-Debug loo_Sock.LastErrorText destroy loo_Sock return end if // Wait a max of 2 seconds for a response.. loo_Sock.MaxReadIdleMs = 2000 // Send 26 bytes contained in a Chilkat BinData loo_BdToSend = create oleobject // Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 li_rc = loo_BdToSend.ConnectToNewObject("Chilkat.BinData") i = 0 li_ByteVal = 65 do while i < 26 loo_BdToSend.AppendByte(li_ByteVal) li_ByteVal = li_ByteVal + 1 i = i + 1 loop // Send the contents of the BinData // Pass zero's in the 2nd and 3rd arguments to send the entire contents of the BinData. loo_Sock.SendBd(loo_BdToSend,0,0) // The tcpbin.com echo server only echoes after receiving an LF (linefeed char) loo_Sock.SendByte(10) // The echo server will echo back whatever is sent to it. // We should be able to read the same bytes back.. loo_BdRecv = create oleobject // Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 li_rc = loo_BdRecv.ConnectToNewObject("Chilkat.BinData") // Receive the 26 bytes previously sent, plus the LF char. li_Success = loo_Sock.ReceiveBdN(27,loo_BdRecv) if li_Success = 0 then Write-Debug loo_Sock.LastErrorText destroy loo_Sock destroy loo_BdToSend destroy loo_BdRecv return end if // Show the contents of bdRecv in hex format Write-Debug loo_BdRecv.GetEncoded("hex") // Output: 4142434445464748494A4B4C4D4E4F505152535455565758595A0A destroy loo_Sock destroy loo_BdToSend destroy loo_BdRecv |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.