Class TCustomWSocket (unit WSocket) |
Inherits from
TComponent
constructor Create(AOwner: TComponent);
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Abort;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Accept: TSocket;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure CancelDnsLookup;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Close;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Connect;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
destructor Destroy;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure DnsLookup(HostName : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Dup(NewHSocket : TSocket);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Flush;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetPeerAddr: string;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetPeerName(var Name : TSockAddrIn; NameLen : Integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetSockName(var saddr : TSockAddrIn; var saddrlen : Integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetXPort: string;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Listen : Integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure MessageLoop;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Loop thru message processing until the WM_QUIT message is received } { This is intended for multithreaded application using TWSocket.
procedure Pause;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function PeekData(Buffer : Pointer; BufferSize: integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ProcessMessages;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Loop thru message processing until all messages are processed.
procedure PutDataInSendBuffer(Data : Pointer; Len : Integer);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure PutStringInSendBuffer(Str : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ReadLine(Timeout : integer; var Buffer : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Receive(Buffer : Pointer; BufferSize: integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { The socket is non-blocking, so this routine will only receive as much } { data as it is available.
function ReceiveFrom(Buffer : Pointer;
BufferSize : Integer;
var From : TSockAddr;
var FromLen : Integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function ReceiveStr : string;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Receive as much data as possible into a string
procedure Resume;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Send(Data : Pointer; Len : Integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Return -1 if error, else return number of byte written
function SendStr(Str : String) : Integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Return -1 if error, else return number of byte written
procedure SetLingerOption;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Shutdown(How : Integer);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TimerClear(var tvp : TTimeVal);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function TimerCmp(var tvp : TTimeVal; var uvp : TTimeVal; IsEqual : Boolean) : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function TimerIsSet(var tvp : TTimeVal) : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Wait(Timeout : integer; State : TSocketState) : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Wait for a given event.
procedure WaitForClose;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure AssignDefaultValue;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ASyncReceive(var msg: TMessage);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure BindSocket;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ChangeState(NewState : TSocketState);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function CheckFWait : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetAddr : String;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetPort : String;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetProto : String;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetRcvdCount : LongInt;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Get the number of char received and waiting to be read
function GetSendFlags : TSocketSendFlags;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure InternalClose(bShut : Boolean);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Notification(AComponent: TComponent; operation: TOperation);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure RaiseException(const Msg : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure RaiseExceptionFmt(const Fmt : String; args : array of const);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ReadLineReceive;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ReadLineStart;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SendText(Str : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SetAddr(InAddr : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SetPort(sPort : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SetProto(sProto : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SetSendFlags(newValue : TSocketSendFlags);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SocketError(sockfunc: string);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerChangeState(OldState, NewState : TSocketState);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function TriggerDataAvailable(Error : Word) : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerDataSent(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerDNSLookupDone(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerError;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerSessionAvailable(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerSessionClosed(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerSessionConnected(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TryToSend;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure WMAsyncGetHostByName(var msg: TMessage);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure WMASyncSelect(var msg: TMessage);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure WndProc(var MsgRec: TMessage);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
property Addr : string
property AllSent : Boolean
property BufSize : Integer
property DnsResult : String
property DnsResultList : TStrings
property FlushTimeout : Integer
property Handle : HWND
property HSocket : TSocket
property LastError : Integer
property LingerOnOff : TSocketLingerOnOff
property LingerTimeout : Integer
property LocalPort : Integer
property MultiThreaded : Boolean
property Port : string
property PortNum : Integer
property Proto : String
property RcvdCount : LongInt
property ReadCount : LongInt
property SendFlags : TSocketSendFlags
property State : TSocketState
property Text : String
property WaitCtrl : TWait
event OnChangeState : TChangeState
event OnDataAvailable : TDataAvailable
event OnDataSent : TDataSent
event OnDnsLookupDone : TDnsLookupDone
event OnError : TNotifyEvent
event OnLineTooLong : TNotifyEvent
event OnSessionAvailable : TSessionAvailable
event OnSessionClosed : TSessionClosed
event OnSessionConnected : TSessionConnected
sin : TSockAddrIn;
bAllSent : Boolean;
bMoreFlag : Boolean;
In seconds, 0 = disabled
bWrite : Boolean;
FAddrAssigned : Boolean;
FAddrFormat : Integer;
FAddrStr : String;
FASocket : TSocket;
FBufList : TList;
FBufSize : Integer;
FCloseInvoked : Boolean;
FDnsLookupBuffer : array [0..MAXGETHOSTSTRUCT] of char;
FDnsLookupHandle : THandle;
FDnsResult : String;
FDnsResultList : TStrings;
FFlushTimeout : Integer;
FHSocket : TSocket;
FLastError : Integer;
FLingerOnOff : TSocketLingerOnOff;
FLingerTimeout : Integer;
FLocalPort : Integer;
FMultiThreaded : Boolean;
FOnChangeState : TChangeState;
FOnDataAvailable : TDataAvailable;
FOnDataSent : TDataSent;
FOnDnsLookupDone : TDnsLookupDone;
FOnError : TNotifyEvent;
FOnLineTooLong : TNotifyEvent;
FOnSessionAvailable : TSessionAvailable;
FOnSessionClosed : TSessionClosed;
FOnSessionConnected : TSessionConnected;
FPaused : Boolean;
FPortAssigned : Boolean;
FPortNum : Integer;
FPortStr : String;
FProto : integer;
FProtoAssigned : Boolean;
FProtoStr : String;
FReadCount : LongInt;
FSendFlags : Integer;
FState : TSocketState;
Accepted socket
FStateWaited : TSocketState;
FType : integer;
FWait : TWait;
FWindowHandle : HWND;
nMoreCnt : Integer;
nMoreMax : Integer;
ReadLineBuffer : String[255];
ReadLineCount : Integer;
ReadLineFlag : Boolean;
constructor Create(AOwner: TComponent);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Abort;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Accept: TSocket;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure CancelDnsLookup;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Close;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Connect;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
destructor Destroy;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure DnsLookup(HostName : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Dup(NewHSocket : TSocket);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Flush;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetPeerAddr: string;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetPeerName(var Name : TSockAddrIn; NameLen : Integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetSockName(var saddr : TSockAddrIn; var saddrlen : Integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetXPort: string;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Listen : Integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure MessageLoop;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Loop thru message processing until the WM_QUIT message is received } { This is intended for multithreaded application using TWSocket.
procedure Pause;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function PeekData(Buffer : Pointer; BufferSize: integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ProcessMessages;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Loop thru message processing until all messages are processed. } { This is intended for multithreaded application using TWSocket.
procedure PutDataInSendBuffer(Data : Pointer; Len : Integer);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure PutStringInSendBuffer(Str : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ReadLine(Timeout : integer; var Buffer : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Receive(Buffer : Pointer; BufferSize: integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { The socket is non-blocking, so this routine will only receive as much } { data as it is available.
function ReceiveFrom(Buffer : Pointer;
BufferSize : Integer;
var From : TSockAddr;
var FromLen : Integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function ReceiveStr : string;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Receive as much data as possible into a string
procedure Resume;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Send(Data : Pointer; Len : Integer) : integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Return -1 if error, else return number of byte written
function SendStr(Str : String) : Integer;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Return -1 if error, else return number of byte written
procedure SetLingerOption;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Shutdown(How : Integer);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TimerClear(var tvp : TTimeVal);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function TimerCmp(var tvp : TTimeVal; var uvp : TTimeVal; IsEqual : Boolean) : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function TimerIsSet(var tvp : TTimeVal) : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function Wait(Timeout : integer; State : TSocketState) : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Wait for a given event. } { Return TRUE if the event has occured or FALSE if any error or user abort
procedure WaitForClose;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure AssignDefaultValue;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ASyncReceive(var msg: TMessage);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure BindSocket;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ChangeState(NewState : TSocketState);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function CheckFWait : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetAddr : String;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetPort : String;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetProto : String;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function GetRcvdCount : LongInt;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Get the number of char received and waiting to be read
function GetSendFlags : TSocketSendFlags;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure InternalClose(bShut : Boolean);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure Notification(AComponent: TComponent; operation: TOperation);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure RaiseException(const Msg : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure RaiseExceptionFmt(const Fmt : String; args : array of const);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ReadLineReceive;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure ReadLineStart;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SendText(Str : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SetAddr(InAddr : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SetPort(sPort : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SetProto(sProto : String);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SetSendFlags(newValue : TSocketSendFlags);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure SocketError(sockfunc: string);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerChangeState(OldState, NewState : TSocketState);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function TriggerDataAvailable(Error : Word) : Boolean;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerDataSent(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerDNSLookupDone(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerError;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerSessionAvailable(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerSessionClosed(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TriggerSessionConnected(Error : Word);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure TryToSend;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure WMAsyncGetHostByName(var msg: TMessage);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure WMASyncSelect(var msg: TMessage);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
procedure WndProc(var MsgRec: TMessage);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
property Addr : string
property AllSent : Boolean
property BufSize : Integer
property DnsResult : String
property DnsResultList : TStrings
property FlushTimeout : Integer
property Handle : HWND
property HSocket : TSocket
property LastError : Integer
property LingerOnOff : TSocketLingerOnOff
property LingerTimeout : Integer
property LocalPort : Integer
property MultiThreaded : Boolean
property Port : string
property PortNum : Integer
property Proto : String
property RcvdCount : LongInt
property ReadCount : LongInt
property SendFlags : TSocketSendFlags
property State : TSocketState
property Text : String
property WaitCtrl : TWait
event OnChangeState : TChangeState
event OnDataAvailable : TDataAvailable
event OnDataSent : TDataSent
event OnDnsLookupDone : TDnsLookupDone
event OnError : TNotifyEvent
event OnLineTooLong : TNotifyEvent
event OnSessionAvailable : TSessionAvailable
event OnSessionClosed : TSessionClosed
event OnSessionConnected : TSessionConnected
sin : TSockAddrIn;
bAllSent : Boolean;
bMoreFlag : Boolean;
In seconds, 0 = disabled
bWrite : Boolean;
FAddrAssigned : Boolean;
FAddrFormat : Integer;
FAddrStr : String;
FASocket : TSocket;
FBufList : TList;
FBufSize : Integer;
FCloseInvoked : Boolean;
FDnsLookupBuffer : array [0..MAXGETHOSTSTRUCT] of char;
FDnsLookupHandle : THandle;
FDnsResult : String;
FDnsResultList : TStrings;
FFlushTimeout : Integer;
FHSocket : TSocket;
FLastError : Integer;
FLingerOnOff : TSocketLingerOnOff;
FLingerTimeout : Integer;
FLocalPort : Integer;
FMultiThreaded : Boolean;
FOnChangeState : TChangeState;
FOnDataAvailable : TDataAvailable;
FOnDataSent : TDataSent;
FOnDnsLookupDone : TDnsLookupDone;
FOnError : TNotifyEvent;
FOnLineTooLong : TNotifyEvent;
FOnSessionAvailable : TSessionAvailable;
FOnSessionClosed : TSessionClosed;
FOnSessionConnected : TSessionConnected;
FPaused : Boolean;
FPortAssigned : Boolean;
FPortNum : Integer;
FPortStr : String;
FProto : integer;
FProtoAssigned : Boolean;
FProtoStr : String;
FReadCount : LongInt;
FSendFlags : Integer;
FState : TSocketState;
Accepted socket
FStateWaited : TSocketState;
FType : integer;
FWait : TWait;
FWindowHandle : HWND;
nMoreCnt : Integer;
nMoreMax : Integer;
ReadLineBuffer : String[255];
ReadLineCount : Integer;
ReadLineFlag : Boolean;