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 DLL) Accept Connection on SocketDemonstrates how to create a TCP/IP socket, listen on a port, accept an incoming connection, and send a "Hello World" message to the client.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Socket; ... procedure TForm1.Button1Click(Sender: TObject); var listenSocket: HCkSocket; success: Boolean; connectedSocket: HCkSocket; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. listenSocket := CkSocket_Create(); // Bind to a port and listen for incoming connections: // This example will listen at port 5555 and allows for a backlog // of 25 pending connection requests. success := CkSocket_BindAndListen(listenSocket,5555,25); if (success <> True) then begin Memo1.Lines.Add(CkSocket__lastErrorText(listenSocket)); Exit; end; // Get the next incoming connection // Wait a maximum of 20 seconds (20000 millisec) connectedSocket := CkSocket_AcceptNextConnection(listenSocket,20000); if (CkSocket_getLastMethodSuccess(listenSocket) = False) then begin Memo1.Lines.Add(CkSocket__lastErrorText(listenSocket)); Exit; end; // Set maximum timeouts for reading an writing (in millisec) CkSocket_putMaxReadIdleMs(connectedSocket,10000); CkSocket_putMaxSendIdleMs(connectedSocket,10000); // Send a "Hello World!" message to the client: success := CkSocket_SendString(connectedSocket,'Hello World!'); if (success <> True) then begin Memo1.Lines.Add(CkSocket__lastErrorText(connectedSocket)); CkSocket_Dispose(connectedSocket); Exit; end; // Close the connection with the client. // Wait a max of 20 seconds (20000 millsec) success := CkSocket_Close(connectedSocket,20000); Memo1.Lines.Add('success!'); CkSocket_Dispose(listenSocket); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.