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
(Delphi ActiveX) TCP Socket Send Byte and Receive ByteDemonstrates the Chilkat Socket ReceiveByte and SendByte method.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var sock: TChilkatSocket; useTls: Integer; port: Integer; maxWaitMs: Integer; success: Integer; treatAsUnsignedInt: Integer; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. sock := TChilkatSocket.Create(Self); // -------------------------------------------------------------------- // This example uses the public TCP echo service at https://tcpbin.com/ // -------------------------------------------------------------------- useTls := 0; port := 4242; maxWaitMs := 5000; success := sock.Connect('tcpbin.com',port,useTls,maxWaitMs); if (success = 0) then begin Memo1.Lines.Add(sock.LastErrorText); Exit; end; // Wait a max of 2 seconds for a response.. sock.MaxReadIdleMs := 2000; // Send a byte. sock.SendByte(96); // The tcpbin.com echo server only echoes after receiving an LF (linefeed char) sock.SendByte(10); // 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. treatAsUnsignedInt := 1; success := sock.ReceiveByte(treatAsUnsignedInt); if (success = 0) then begin Memo1.Lines.Add(sock.LastErrorText); Exit; end; // Let's look at the value of the byte received. It should be 96. Memo1.Lines.Add(IntToStr(sock.ReceivedInt)); // The echo server also echoed the LF back. success := sock.ReceiveByte(treatAsUnsignedInt); // Assuming success.. // Should be decimal 10. Memo1.Lines.Add(IntToStr(sock.ReceivedInt)); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.