Difference between revisions of "TWinsock2Socket"
From Ultibo.org
(Created page with "Return to Unit Winsock2 __TOC__ === Description === ---- ''To be documented'' === Class definitions === ---- <div class="toccolours mw-collapsible mw-...") |
(No difference)
|
Revision as of 03:55, 6 June 2018
Return to Unit Winsock2
Description
To be documented
Class definitions
TWinsock2Socket = class(TListObject)
Note: Base Socket classes | |
public
| |
constructor Create;
|
|
private
| |
FBoundPort:Word;
|
|
FBoundAddress:String;
|
|
FReuseAddress:Boolean;
|
|
procedure SetFamily(AFamily:Integer); virtual;
|
|
procedure SetSocketType(ASocketType:Integer); virtual;
|
|
procedure SetProtocol(AProtocol:Integer); virtual;
|
|
procedure SetBoundPort(ABoundPort:Word);
|
|
procedure SetBoundAddress(const ABoundAddress:String); virtual;
|
|
procedure SetReuseAddress(AReuseAddress:Boolean);
|
|
function GetLocalPort:Word;
|
|
function GetLocalHost:String;
|
|
function GetLocalAddress:String;
|
|
function GetLocalAddresses:TStrings;
|
|
function GetSendSize:Integer;
|
|
procedure SetSendSize(ASize:Integer);
|
|
function GetReceiveSize:Integer;
|
|
procedure SetReceiveSize(ASize:Integer);
|
|
function GetSendTimeout:Integer;
|
|
procedure SetSendTimeout(ATimeout:Integer);
|
|
function GetReceiveTimeout:Integer;
|
|
procedure SetReceiveTimeout(ATimeout:Integer);
|
|
function GetConnectTimeout:Integer;
|
|
procedure SetConnectTimeout(ATimeout:Integer);
|
|
protected
| |
FHandle:TSocket;
|
|
FFamily:Integer;
|
|
FSocketType:Integer;
|
|
FProtocol:Integer;
|
|
FLastError:LongInt;
|
|
function GetBroadcastAddress:String;
|
|
function AllocateFamily:Boolean; virtual;
|
|
function AllocateAddress(var ALength:Integer):PSockAddr;
|
|
function ReleaseAddress(var ASockAddr:PSockAddr; var ALength:Integer):Boolean;
|
|
function AllocateBoundAddress(var ALength:Integer):PSockAddr;
|
|
function AllocateSocket(ASocketType:Integer):TSocket;
|
|
function Bind:LongInt;
|
|
function SockAddrToPort(ASockAddr:PSockAddr; ALength:Integer):Word;
|
|
function SockAddrToAddress(ASockAddr:PSockAddr; ALength:Integer):String;
|
|
function PortToSockAddr(APort:Word; ASockAddr:PSockAddr; ALength:Integer):Boolean;
|
|
function AddressToSockAddr(const AAddress:String; var ALength:Integer):PSockAddr;
|
|
public
| |
property Handle:TSocket read FHandle;
|
|
property Family:Integer read FFamily write SetFamily;
|
|
property SocketType:Integer read FSocketType write SetSocketType;
|
|
property Protocol:Integer read FProtocol write SetProtocol;
|
|
property LastError:LongInt read FLastError;
|
|
property BoundPort:Word read FBoundPort write SetBoundPort;
|
|
property BoundAddress:String read FBoundAddress write SetBoundAddress;
|
|
property ReuseAddress:Boolean read FReuseAddress write SetReuseAddress;
|
|
property LocalPort:Word read GetLocalPort;
|
|
property LocalHost:String read GetLocalHost;
|
|
property LocalAddress:String read GetLocalAddress;
|
|
property LocalAddresses:TStrings read GetLocalAddresses;
|
|
property SendSize:Integer read GetSendSize write SetSendSize;
|
|
property ReceiveSize:Integer read GetReceiveSize write SetReceiveSize;
|
|
property SendTimeout:Integer read GetSendTimeout write SetSendTimeout;
|
|
property ReceiveTimeout:Integer read GetReceiveTimeout write SetReceiveTimeout;
|
|
property ConnectTimeout:Integer read GetConnectTimeout write SetConnectTimeout;
|
|
function Connected:Boolean; virtual;
|
|
function Shutdown:Boolean; virtual;
|
|
function Disconnect:Boolean; virtual;
|
|
function CloseSocket:Boolean; virtual;
|
|
function ResolveHost(const AHost:String):String;
|
|
function ResolveFamily(const AAddress:String):Integer;
|
|
function ResolveAddress(const AAddress:String):String;
|
|
function ResolveHostEx(const AHost:String; AFamily:Integer; AAll:Boolean):TStrings;
|
Function declarations
constructor TWinsock2Socket.Create;
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetFamily(AFamily:Integer);
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetSocketType(ASocketType:Integer);
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetProtocol(AProtocol:Integer);
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetBoundPort(ABoundPort:Word);
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetBoundAddress(const ABoundAddress:String);
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetReuseAddress(AReuseAddress:Boolean);
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetLocalPort:Word;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetLocalHost:String;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetLocalAddress:String;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetLocalAddresses:TStrings;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetSendSize:Integer;
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetSendSize(ASize:Integer);
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetReceiveSize:Integer;
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetReceiveSize(ASize:Integer);
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetSendTimeout:Integer;
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetSendTimeout(ATimeout:Integer);
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetReceiveTimeout:Integer;
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetReceiveTimeout(ATimeout:Integer);
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetConnectTimeout:Integer;
Description: To be documented
Note | None documented |
---|
procedure TWinsock2Socket.SetConnectTimeout(ATimeout:Integer);
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.GetBroadcastAddress:String;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.AllocateFamily:Boolean;
Description: Check Family and Bound Address, normalise as needed
Note | None documented |
---|
function TWinsock2Socket.AllocateAddress(var ALength:Integer):PSockAddr;
Description: Allocate s socket address structure for the current family
Note | None documented |
---|
function TWinsock2Socket.ReleaseAddress(var ASockAddr:PSockAddr; var ALength:Integer):Boolean;
Description: Free a socket address structure allocated by AllocateAddress or AddressToSockAddr
Note | None documented |
---|
function TWinsock2Socket.AllocateBoundAddress(var ALength:Integer):PSockAddr;
Description: Allocate a socket address structure for the bound address and port
Note | Change this to use InetPton for both IPv4 and IPv6 addresses |
---|
function TWinsock2Socket.AllocateSocket(ASocketType:Integer):TSocket;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.Bind:LongInt;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.SockAddrToPort(ASockAddr:PSockAddr; ALength:Integer):Word;
Description: Convert a socket adress structure to a numeric port
Note | None documented |
---|
function TWinsock2Socket.SockAddrToAddress(ASockAddr:PSockAddr; ALength:Integer):String;
Description: Convert a socket address structure to a numeric address
Note | None documented |
---|
function TWinsock2Socket.PortToSockAddr(APort:Word; ASockAddr:PSockAddr; ALength:Integer):Boolean;
Description: Convert a numeric port to a socket adress structure
Note | None documented |
---|
function TWinsock2Socket.AddressToSockAddr(const AAddress:String; var ALength:Integer):PSockAddr;
Description: Convert a numeric address to a socket address structure
Note | None documented |
---|
function TWinsock2Socket.Connected:Boolean;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.Shutdown:Boolean;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.Disconnect:Boolean;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.CloseSocket:Boolean;
Description: To be documented
Note | None documented |
---|
function TWinsock2Socket.ResolveHost(const AHost:String):String;
Description: Resolve a hostname to a numeric address
Note | None documented |
---|
function TWinsock2Socket.ResolveAddress(const AAddress:String):String;
Description: Resolve a numeric address to a hostname
Note | None documented |
---|
function TWinsock2Socket.ResolveFamily(const AAddress:String):Integer;
Description: Resolve a numeric address to an address family
Note | None documented |
---|
function TWinsock2Socket.ResolveHostEx(const AHost:String; AFamily:Integer; AAll:Boolean):TStrings;
Description: Resolve a hostname to a numeric address or addresses in the family specified or all families
Note | All may include addresses that this host cannot connect to such as IPv6 if this host does not have a global IPv6 address |
---|
Return to Unit Reference