<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://ultibo.org/mediawiki_ultibo_org/index.php?action=history&amp;feed=atom&amp;title=TTCPSocket</id>
		<title>TTCPSocket - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://ultibo.org/mediawiki_ultibo_org/index.php?action=history&amp;feed=atom&amp;title=TTCPSocket"/>
		<link rel="alternate" type="text/html" href="https://ultibo.org/mediawiki_ultibo_org/index.php?title=TTCPSocket&amp;action=history"/>
		<updated>2026-04-06T01:50:47Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.1</generator>

	<entry>
		<id>https://ultibo.org/mediawiki_ultibo_org/index.php?title=TTCPSocket&amp;diff=4336&amp;oldid=prev</id>
		<title>Ultibo: Created page with &quot;Return to Unit TCP   __TOC__  === Description === ----  &#039;&#039;To be documented&#039;&#039;  === Class definitions === ----   &lt;div class=&quot;toccolours mw-collapsible mw-collapsed&quot;...&quot;</title>
		<link rel="alternate" type="text/html" href="https://ultibo.org/mediawiki_ultibo_org/index.php?title=TTCPSocket&amp;diff=4336&amp;oldid=prev"/>
				<updated>2018-05-30T01:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Return to &lt;a href=&quot;/wiki/Unit_TCP&quot; title=&quot;Unit TCP&quot;&gt;Unit TCP&lt;/a&gt;   __TOC__  === Description === ----  &amp;#039;&amp;#039;To be documented&amp;#039;&amp;#039;  === Class definitions === ----   &amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Return to [[Unit_TCP|Unit TCP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;To be documented&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Class definitions ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TTCPSocket = class(TProtocolSocket)&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Note: SOCK_STREAM&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(AProtocol:TNetworkProtocol; ATransport:TNetworkTransport);&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy; override;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;lt;div style=&amp;quot;font-family: monospace,courier;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;private&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FBackLog:Integer;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Backlog size of Listen/Accept Queue&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FListener:TProtocolSocket;&amp;lt;/code&amp;gt;&lt;br /&gt;
| The Listener socket for this socket (If applicable)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FAcceptQueue:TSocketList;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sockets waiting for connection Accept&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FReceiveQueue:TSocketList;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sockets waiting for SYN/ACK handshake&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FSendData:TTCPSendBuffer;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FRecvData:TTCPRecvBuffer;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetBackLog(ABackLog:Integer);&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetListener(AListener:TProtocolSocket);&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;lt;div style=&amp;quot;font-family: monospace,courier;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;public&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;property BackLog:Integer read FBackLog write SetBackLog;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;property Listener:TProtocolSocket read FListener write SetListener;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;property AcceptQueue:TSocketList read FAcceptQueue;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;property ReceiveQueue:TSocketList read FReceiveQueue;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;property SendData:TTCPSendBuffer read FSendData;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;property RecvData:TTCPRecvBuffer read FRecvData;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetOption(ALevel,AOptName:Integer; AOptValue:PChar; var AOptLength:Integer):Integer; override;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOption(ALevel,AOptName:Integer; AOptValue:PChar; AOptLength:Integer):Integer; override;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IoCtl(ACommand:DWORD; var AArgument:u_long):Integer; override;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsConnected(ALocalAddress,ARemoteAddress:Pointer; ALocalPort,ARemotePort:Word; ABroadcast:Boolean):Boolean; override;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsListening(ALocalAddress,ARemoteAddress:Pointer; ALocalPort,ARemotePort:Word; ABroadcast:Boolean):Boolean; override;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Listen:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Connect:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Reconnect:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Disconnect:Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Accept(APeek,ALock:Boolean; AState:LongWord):TTCPSocket;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function RecvSegment(ASequence,AAcknowledge:LongWord; AWindow,AUrgent:Word; AFlags:Byte; AData:Pointer; ASize:Word):Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SendSegment(var ASequence,AAcknowledge:LongWord; var AWindow,AUrgent:Word; var AFlags:Byte; var AData:Pointer; var ASize:Word):Boolean;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Function declarations ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;constructor TTCPSocket.Create(AProtocol:TNetworkProtocol; ATransport:TNetworkTransport);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;destructor TTCPSocket.Destroy;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;procedure TTCPSocket.SetBackLog(ABackLog:Integer);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;procedure TTCPSocket.SetListener(AListener:TProtocolSocket);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.GetOption(ALevel,AOptName:Integer; AOptValue:PChar; var AOptLength:Integer):Integer;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| With Socket Options that are Boolean 0 is False and &amp;gt; 0 is True&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.SetOption(ALevel,AOptName:Integer; AOptValue:PChar; AOptLength:Integer):Integer;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| With Socket Options that are Boolean 0 is False and &amp;gt; 0 is True&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.IoCtl(ACommand:DWORD; var AArgument:u_long):Integer;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; To be documented&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| None documented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.IsConnected(ALocalAddress,ARemoteAddress:Pointer; ALocalPort,ARemotePort:Word; ABroadcast:Boolean):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Check if this TCP Socket is Connected to the Host specified by RemoteAddress/Port&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| A connected Socket will have a Bound LocalAddress/Port and a Connected RemoteAddress/Port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.IsListening(ALocalAddress,ARemoteAddress:Pointer; ALocalPort,ARemotePort:Word; ABroadcast:Boolean):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Check if this TCP Socket is Listening on the LocalAddress/Port specified&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| A listening Socket may or may not have a Bound LocalAddress/Port and will have a default (INADDR_ANY/IPPORT_ANY) RemoteAddress/Port&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.Listen:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Used by Listen to setup the listening state&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Initiate listening for connections&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.Connect:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Used by Connect to initiate outbound connection and Used by RecvSegment to respond to inbound connection&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Initiate a connection handshake (SYN/SYNACK/ACK)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.Reconnect:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Used by Connect to retry outbound connection&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Retry the connection handshake (SYN/SYNACK/ACK)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.Disconnect:Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Used by CloseSocket/Shutdown to terminate outbound connection&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Initiate a disconnection handshake (FIN/ACK)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.Accept(APeek,ALock:Boolean; AState:LongWord):TTCPSocket;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Used by Accept/Select to receive an inbound connection&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Return the first Connected socket in the Accept Queue&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.RecvSegment(ASequence,AAcknowledge:LongWord; AWindow,AUrgent:Word; AFlags:Byte; AData:Pointer; ASize:Word):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Used by Segment Handler to feed segments/acks to the Buffers&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| ACK/SEQ have passed initial check by the Segment Handler&lt;br /&gt;
Flags have passed a validity check by the Segment Handler&lt;br /&gt;
&amp;lt;br /&amp;gt;Size can be zero, Data will then point to invalid or nil&lt;br /&gt;
&amp;lt;br /&amp;gt;State transition and simultaneous Connect are done here&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;border: 0; padding-bottom:0px;&amp;quot;&amp;gt;function TTCPSocket.SendSegment(var ASequence,AAcknowledge:LongWord; var AWindow,AUrgent:Word; var AFlags:Byte; var AData:Pointer; var ASize:Word):Boolean;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 14px; padding-left: 12px;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039; Used by Process Socket to get segments/acks for Sending&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;text-align: left; padding-left: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 14px; background: white;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Note&lt;br /&gt;
| Size can return zero and Data can return nil&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Return to [[Unit_Reference|Unit Reference]]&lt;/div&gt;</summary>
		<author><name>Ultibo</name></author>	</entry>

	</feed>