ZBuilder
ZBuilder Software

ZBuilder Software provide’s custom programming services in addition to our line of C++ Builder components.

The software professionals of ZBuilder Software provide software services for a variety of platforms from Fortune 500 companies to the corner store.

Whether you need a compete solution, a small module, or just have a question, we can fulfill your needs.

E-Mail zbuilder@aol.com for additional information.

ZSockets License Information


License
ZSocket License

The ZSocket component is being made available in two forms:

1. 	The evaulation/personal only version. This version may be downloaded from our Web Site. It may not be used for commercial purposes, nor sold directly or indirectly. The component itself may not be distributed unless it is complete(zsocket.zip) as downloaded from out web site.

1. 	Purchased version. A fully distributable version with source code may be purchased. The source code version will only be available once the beta period completes. Source code, access to Email support and a full license to distribute the component may be purchased. The price to be set at release.

(Available May 97 for purchase)

Please see our Web site for additional details and availability.

http://members.aol.com/zbuilder

E-Mail us at zbuilder@aol.com


OnConnect

Trigger

This event is generated when a socket has achieved a connection with a remote host.

The State property is set to XS_CONNECTED.

Default

No action


OnDataAvailable

Trigger

This event is generated when data is available to be read.

Default

No action

Example

AnsiString asStr;

asStr = XSocket1->Text;	 // read available text


OnClose

Trigger

Generated when the socket is closed

Default

No action


OnConnectionRequest

Trigger

Generated when a listen has generated an Accept

Default

No action


OnSendComplete

Trigger

Generated when the socket sends a block of data successfully, during a SetText, ZSend or ZSendUrgent.

Note: The data may or may not have been received by the remote host, this event only indicates the data was accepted by the local socket without error.

Default

No action


OnOKToWrite

Trigger

This event is triggered when a socket receives a FD_WRITE notification, indicating the socket is available for writing.

Normally this event is generated after a socket receives an error in OnError of WSAEWOULDBLOCK during a SetText, ZSend or ZSendUrgent method.

The socket will send a FD_WRITE message to the ZSocket component, (which in turn generates OnOKToWrite)  when the socket is again available for sending data.

Default

None


OnTimeout

Trigger

Generated when the Timeout value is reached

Default

No action


OnNameResolved

Trigger

This event is generated when the GetRemoteName method finds the host name it is looking for.

Default

None


OnNameLookupFailed

Trigger

This event is generated when a DNS name lookup GetRemoteNamefails to find a host.

Default

None


OnError

Trigger

This event is generated when an error occurs that ZSocket is not able to handle.

Default

ZSockets will display a application message dialog if this OnError is not implemented.

Error Codes

The following error codes are returned.

ZLE_NO_PORT	1	Port not specified

ZLE_NO_ADDR	2	No Address was specified

ZLE_HOST_NOTFOUND	3	Host was not found

ZLE_TIMEOUT	4	Time out occurred

The following codes are defined in winsock.h

Windows Sockets code	Berkeley equivalent	Error	Interpretation

WSAEINTR	EINTR	10004	As in standard C

WSAEBADF	EBADF	10009	As in standard C

WSEACCES	EACCES	10013	As in standard C

WSAEFAULT	EFAULT	10014	As in standard C

WSAEINVAL	EINVAL	10022	As in standard C

WSAEMFILE	EMFILE	10024	As in standard C

WSAEWOULDBLOCK	EWOULDBLOCK	10035	As in BSD

WSAEINPROGRESS	EINPROGRESS	10036

This error is returned if any Windows Sockets API function is called while a blocking function is in progress.

WSAEALREADY	EALREADY	10037	As in BSD

WSAENOTSOCK	ENOTSOCK	10038	As in BSD

WSAEDESTADDRREQ	EDESTADDRREQ	10039	As in BSD

WSAEMSGSIZE	EMSGSIZE	10040	As in BSD

WSAEPROTOTYPE	EPROTOTYPE	10041	As in BSD

WSAENOPROTOOPT	ENOPROTOOPT	10042	As in BSD

WSAEPROTONOSUPPORT	EPROTONOSUPPORT	10043	As in BSD

WSAESOCKTNOSUPPORT	ESOCKTNOSUPPORT	10044	As in BSD

WSAEOPNOTSUPP	EOPNOTSUPP	10045	As in BSD

WSAEPFNOSUPPORT	EPFNOSUPPORT	10046	As in BSD

WSAEAFNOSUPPORT	EAFNOSUPPORT	10047	As in BSD

WSAEADDRINUSE	EADDRINUSE	10048	As in BSD

WSAEADDRNOTAVAIL	EADDRNOTAVAIL	10049	As in BSD

WSAENETDOWN	ENETDOWN	10050	As in BSD.

This error may be reported at any time if the Windows Sockets implementation detects an underlying failure.

WSAENETUNREACH	ENETUNREACH	10051	As in BSD

WSAENETRESET	ENETRESET	10052	As in BSD

WSAECONNABORTED	ECONNABORTED	10053	As in BSD

WSAECONNRESET	ECONNRESET	10054	As in BSD

WSAENOBUFS	ENOBUFS	10055	As in BSD

WSAEISCONN	EISCONN	10056	As in BSD

WSAENOTCONN	ENOTCONN	10057	As in BSD

WSAESHUTDOWN	ESHUTDOWN	10058	As in BSD

WSAETOOMANYREFS	ETOOMANYREFS	10059	As in BSD

WSAETIMEDOUT	ETIMEDOUT	10060	As in BSD

WSAECONNREFUSED	ECONNREFUSED	10061	As in BSD

WSAELOOP	ELOOP	10062	As in BSD

WSAENAMETOOLONG	ENAMETOOLONG	10063	As in BSD

WSAEHOSTDOWN	EHOSTDOWN	10064	As in BSD

WSAEHOSTUNREACH	EHOSTUNREACH	10065	As in BSD

WSASYSNOTREADY	10091

Returned by WSAStartup() indicating that the network subsystem is unusable.

WSAVERNOTSUPPORTED	10092

Returned by WSAStartup() indicating that the Windows Sockets DLL cannot support this app.

WSANOTINITIALISED	10093

Returned by any function except WSAStartup() indicating that a successful WSAStartup() has not yet been performed.

WSAHOST_NOT_FOUND HOST_NOT_FOUND	11001	As in BSD.

WSATRY_AGAIN	TRY_AGAIN	11002	As in BSD

WSANO_RECOVERY	NO_RECOVERY	11003	As in BSD

WSANO_DATA	NO_DATA	11004	As in BSD

The first set of definitions is present to resolve contentions between standard C error codes which may be defined inconsistently between various C compilers.

The second set of definitions provides Windows Sockets versions of regular Berkeley Sockets error codes.

The third set of definitions consists of extended Windows Sockets-specific error codes.

The fourth set of errors are returned by Windows Sockets getXbyY() and WSAAsyncGetXByY() functions, and correspond to the errors which in Berkeley software would be returned in the h_errno variable.  They correspond to various failures which may be returned by the Domain Name Service.  If the Windows Sockets implementation  does not use the DNS, it will use the most appropriate code.  In general, a Windows Sockets application should interpret WSAHOST_NOT_FOUND and WSANO_DATA as indicating that the key (name, address, etc.) was not found,, while WSATRY_AGAIN and WSANO_RECOVERY suggest that the name service itself is non-operational.

The error numbers are derived from the winsock.h header file, and are based on the fact that Windows Sockets error numbers are computed by adding 10000 to the "normal" Berkeley error number.

Note that this table does not include all of the error codes defined in winsock.h.  This is because it includes only errors which might reasonably be returned by a Windows Sockets implementation: winsock.h, on the other hand, includes a full set of BSD definitions to ensure compatibility with ported software.


GetText

Prototype	AnsiString __fastcall TZSocket::GetText();

Use

NOTE: This method has been made private in release 0.9.6 use the Text property to quickly access non-binary data.

This method can be used to get available data from a socket. Normally this method will not be used, use the property Text to access the available data.

Note: This method returns a zero terminated  AnsiString which means binary data that contains zero byte values cannot be returned. Use ZReceive to receive binary data.

Input

None

Return

The data that was read from the socket.

Example

AnsiString asStr;

asStr = ZSocket1->GetText();


SetText

void __fastcall TZSocket::SetText(AnsiString Text);

Use

NOTE: This method has been made private in release 0.9.6 use the Text property to quickly access non-binary data.

Sends the data TextTextto the remote host that is currently connected.

Input

Text 	The text to be sent

Return

None

Example

AnsiString	asStr;

asStr = “This is a  test”

Zsocket1->SetText(asStr);


ZConnect

void __fastcall 	TZSocket::ZConnect();

Use

Connects to the host and port specified in RemoteHost and RemotePort proprerties.

Input

None

Return

None

Example

ZSocket1->ZConnect();


ZReceive

int __fastcall  TZSocket::ZReceive

(SOCKET socket, char *buffer, int length);

Use

Receives data from the socket that is passed to this method. Normally you will not use this method use GetText instead.

Input

socket	open and connected socket

buffer	pointer to data area to receive to

length	length of data(MAX)

Return

Length of data sent

Example

SOCKET	aSocket;

char	*aBuffer;

int	length = 100;

aBuffer = GlobalAlloc(GPTR, 100);

ZSocket1->ZReceive(aSocket, aBuffer, length);

…

GlobalFree(buffer);


ZSend

int __fastcall TZSocket::ZSend(SOCKET socket,

char *buffer, int length);

Use

Sends data specified to the Socket passed to this method. Normally you will not use this method use SetText instead.

Input

socket	open and connected socket

buffer	pointer to data to send

length	length of data to send

Return

Length of data sent

Example

SOCKET	aSocket;

char	*aBuffer;

int	length = 100;

memcpy(aBuffer, yourdata, 100);

ZSocket1->ZReceive(aSocket, aBuffer, length);

GlobalFree(buffer);


ZListen

void __fastcall  TZSocket::ZListen();

Use

Listens for incoming connection requests from a remote host.

Input

None

Return

None

Example

ZSocket1->Listen();


ZCancelListen

void __fastcall 	TZSocket::ZCancelListen();

Use

Use this method to cancel a Listen call.

Input

None

Return

None

Example

ZSocket1->CancelListen();


ZAccept

SOCKET __fastcall TZSocket::ZAccept();

Use

Use this to accept an incoming connection request reported by the OnConnectionRequest.

Input

None

Return

The socket the incoming connection was bound to

Example

SOCKET aSocket;

aSocket = ZSocket->ZAccept();

… respond to data


ZClose

void __fastcall  TZSocket::ZClose();

Use

Closes the current open socket.

Input

None

Return

None

Example

ZSocket1->Close();


GetRemoteName

void __fastcall TZSocket::GetRemoteName(AnsiString hostname);

Use

This method will resolve a host name to an IP address. The RemoteAddr property is set to the IP Address if the host name is found.

Note: The method will generate the event OnNameResolved when the host is found.

Note: The method will generate the event OnTimeout if the name is not found prior to the timeout value.

Input

The host name to lookup

Return

The RemoteAddr property is set to the IP address

Example

ZSocket1->GetRemoteName(“www.borland.com”);

Label1->Caption = ZSocket1->RemoteAddr;


ZAsyncCancel

void __fastcall TZSocket::ZAsyncCancel();

Use

To cancel a GetRemoteName call

Input

None

Return

None

Example

ZSocket1->ZAsyncCancel();


GetRemoteAddr

AnsiString __fastcall TZSocket::GetRemoteAddr(SOCKET aSocket);

Use

Return the IP address of a remote server.

Input

The currently open socket.

Return

The IP address.

Example

AnsiString asStr;

asStr = ZSocket1->GetRemoteAddr();


GetLocalHostName

AnsiString __fastcall  TZSocket::GetLocalHostName();

Use

Returns the name of the local system.

Input

None

Return

The local host name.

Example

AnsiString asStr;

asStr = ZSocket1->GetLocalHostName();


GetLocalAddr

AnsiString __fastcall	TZSocket::GetLocalAddr();

Use

Returns the IP address of the local system.

Input

None

Return

The IP address

Example

AnsiString asStr;

asStr = ZSocket1->GetLocalAddr();


GetLocalPort

int __fastcall  TZSocket::GetLocalPort();

Used

Returns the current port of the local system.

Input

None

Return

The local port number of the connection

Example

int	aPort;

aPort = ZSocket1->GetLocalPort();


GetRemotePort

int __fastcall TZSocket::GetRemotePort(SOCKET aSocket);

Use

Returns the port number of the remote server.

Input

An open and connected socket

Return

The remote port number

Example

int port;

SOCKET aSocket;

port = ZSocket1->GetRemotePort(aSocket);


GetPeerAddr

AnsiString __fastcall TZSocket::GetPeerAddr();

Use

Returns the IP address of the remote(peer) client. This is normally used by a server to get the address of a client.

Input

None

Return

None

Example

AnsiString asStr;

asStr = ZSocket1->GetPeerAddr();


GetPeerPort

int __fastcall  TZSocket::GetPeerPort();

Use

Will return the port of the remote(peer) client. Normally used by a server to get the client’s port.

Input

None

Return

The port number

Example

int port;

port = ZSocket1->GetPeerPort();


IOCtl

int __fastcall TZSocket::IOCtl(SOCKET Socket, long param, unsigned long *cmd);

Use

Allows the settings of various options on the socket. Most commonly used to change the state of the socket from blocking to non-blocking. See the Winsock documentation for additional details.

Note: This is an advanced routine and normally not needed.

Input

Socket	Socket	a socket

long	param	see winsock docs

unsigned long	cmd	see winsock docs

Return

int	value returned by ioctlsocket

Example

unsigned long  cmd = 0;

ZSocket1->IOCtl(aSocket, FIONBIO, &cmd);  // turn on blocking mode

cmd = 1;

ZSocket1->IOCtl(aSocket, FIONBIO, &cmd);  // turn off blocking mode


ZSetSocketOption
SetSocketOption

int __fastcall TZSocket::ZSetSocketOption (SOCKET Socket,

int linger, int timeout);

Use

Allows various options to be set on the socket

Input

Socket	a socket

int	linger 	0 = linger on

1 = linger off

int	timeout	time in seconds

Return

Result code from winsock call

Example

ZSocket1->SetSockOption(aSocket, 1, 5); // linger for 5 seconds


ZGetSocketOption
GetSocketOption

int	__fastcall	TZSocket::ZGetSocketOption

(SOCKET Socket, int level, int optname, char *optval, int *optlen);

Use

Get the current options for the socket.

Input

Socket	a socket

int	level

int	optname

char*	option value

int	option length

Note: please see the Winsock docs for more information.

Return

The result code from the Winsock routine GetSocketOption


ZPeek

__fastcall TZSocket::ZPeek(SOCKET Socket, unsigned char *buffer,

 long length);

Use

Allows you to look at the incoming data without removing it from the queue.

Input

Socket	a socket

char *	pointer to buffer to store incoming data

long	length of data to peek at

Return

None

Example

SOCKET aSocket;

unsigned char *buffer = GlobalAlloc(GPTR, 1000);

ZSocket1->ZPeek(aSocket, buffer, 1000);


ZSendUrgent

long __fastcall TZSocket::ZSendUrgent(SOCKET Socket,

unsigned char *buffer, long length);

Use

Sends data as out of band data immediately

Input

SOCKET	Socket	a socket

unsigned char   buffer	pointer to data

long	length	lenght to send

Return

Bytes sent

Example

SOCKET aSocket;

unsigned char *buffer = GlobalAlloc(GPTR, 1000);

strcpy(buffer, “data”);

ZSocket1->ZSendUrgent(aSocket, buffer, 1000);


ZUrgentReceive
ZReceiveUrgent

long __fastcall TZSocket::ZReceiveUrgent(SOCKET Socket,

unsigned char *buffer, long length);

Use

Receives urgent OOB data immediately

Input

SOCKET	Socket	a socket

unsigned char   buffer	pointer to data

long	length	max length to receive

Return

Bytes received

Example

SOCKET aSocket;

unsigned char *buffer = GlobalAlloc(GPTR, 1000);

ZSocket1->ZReceiveUrgent(aSocket, buffer, 1000);


BufferSize

Description

The maximum block size a socket can receive

Type

long

Default size

8192


RemoteAddr

Description

The IP address or host name to connect to.

Note: This is not the same as the call GetRemoteAddr, RemoteAddr is set prior to a Zconnect. GetRemoteAddr is used once you are connected

Type

AnsiString

Note

This address must be specified prior to calling ZConnect


RemotePort

Description

The remote port to connect to

Note: This is not the same as GetRemotePort. RemotePort is set prior to a Zconnect. GetRemotePort is used once you are connected.

May be a port number  or service name.

Type

AnsiString


Text

Description

This property is used to send/receive data from a socket.

Note: ZSockets will return with a NULL string if the socket would block.

Note: Since this is a zero terminated AnsiString it is not appropriate to use this property to send or receive binary data that includes zero byte values. Use the method ZSend or ZReceive to send binary data.

Type

AnsiString


Timeout

Description

This is the time in seconds to wait for a ZConnect, ZAccept, SetText, GetText, Send, Receive method to complete. Only used when the socket is in a blocking state.

Type

int

Default

30 (seconds)

Note

If OnTimeout event not set the default handling generates an application error box


LocalAddr

READ ONLY

Description

This property returns the IP address of the local system.

Type

AnsiString

Default

None


LocalHostName

READ ONLY

Description

Returns the name of the local system.

Type

AnsiString

Default

None


LocalPort

Description

Used during a ZListen method, this is the port that the socket will listen on. May be a port number  or service name.

Type

AnsiString

Default

None


BackLog

Description

This property sets the maximum backlog of pending connections before the socket refuses the connections. Used during a ZListen Method

Type

int

Default

0


LimitAddr

Description

This property, when set to an IP address, will cause the socket to ONLY accept incoming connections from the specified address.

Used mainly for security purposes.

Type

AnsiString

Default

None


BytesAvailable

READ ONLY

Description

The bytes available to be read.

Type

long


SocketHandle

READ ONLY

Description

The handle to the current socket. May be used to call Winsock routines directly, however this must be done with care since ZSockets may be left in an unusable state.

Type

SOCKET


ListenSocketHandle

READ ONLY

Description

The socket handle used in a ZAccept method to accept an incoming connection. Normally you will not set this property unless you want to accept multiple incoming connections.

To accept multiple connections:

Listen for connections...

OnConnectionRequest:

ZSocket2 = new TZSocket(this); //create a new ZSocket

...set handlers for OnDataAvailable, OnError, OnClose, etc.

ZSocket2->ListenSocketHandle = ZSocket1->ListenSocketHandle;

...receive/send data

Type

SOCKET


State

READ ONLY

Description

The current state of the socket

Type

int

Note:

The following are the possible state values.

ZS_CLOSED	1

ZS_OPEN	2

ZS_LISTEN	3

ZS_CONNPEND	4

ZS_LOOKUPHOST	5

ZS_HOSTFOUND	6

ZS_CONNECTING	7

ZS_CONNECTED	8

ZS_ERROR	9


Version

READ ONLY

Description

This is the version number of the ZSocket component

Type

AnsiString


Service Names

The following is a list of well known services and port/service name

Service	Port/Protocol	Comments

echo	7/tcp

echo                	7/udp

discard             	9/tcp    sink null

discard             	9/udp    sink null

systat             	11/tcp

systat             	11/tcp    users

daytime            	13/tcp

daytime            	13/udp

netstat            	15/tcp

qotd               	17/tcp    quote

qotd               	17/udp    quote

chargen            	19/tcp    ttytst source

chargen            	19/udp    ttytst source

ftp-data           	20/tcp

ftp                	21/tcp

telnet             	23/tcp

smtp               	25/tcp    mail

time               	37/tcp    timserver

time               	37/udp    timserver

rlp                	39/udp    resource      	# resource location

name               	42/tcp    nameserver

name               	42/udp    nameserver

whois              	43/tcp    nicname      	 # usually to sri-nic

domain             	53/tcp    nameserver    	# name-domain server

domain            	53/udp    nameserver

nameserver         	53/tcp    domain        	# name-domain server

nameserver         	53/udp    domain

mtp                	57/tcp                  	# deprecated

bootp              	67/udp                  	# boot program server

tftp               	69/udp

rje                	77/tcp    netrjs

finger             	79/tcp

link               	87/tcp    ttylink

supdup             	95/tcp

hostnames         	101/tcp    hostname      	# usually from sri-nic

iso-tsap          	102/tcp

dictionary        	103/tcp    webster

x400              	103/tcp                  	# ISO Mail

x400-snd          	104/tcp

csnet-ns          	105/tcp

pop               	109/tcp    postoffice

pop2              	109/tcp                  	# Post Office

pop3              	110/tcp    postoffice

portmap           	111/tcp

portmap           	111/udp

sunrpc            	111/tcp

sunrpc            	111/udp

auth              	113/tcp    authentication

sftp              	115/tcp

path              	117/tcp

uucp-path         	117/tcp

nntp              	119/tcp    usenet        	# Network News Transfer

ntp               	123/udp    ntpd ntp      	# network time protocol (exp)

nbname            	137/udp

nbdatagram        	138/udp

nbsession         	139/tcp

NeWS              	144/tcp    news

sgmp              	153/udp    sgmp

tcprepo           	158/tcp    repository    	# PCMAIL

snmp              	161/udp    snmp

snmp-trap         	162/udp    snmp

print-srv         	170/tcp                  	# network PostScript

vmnet             	175/tcp

load              	315/udp

vmnet0            	400/tcp

sytek             	500/udp

biff              	512/udp    comsat

exec              	512/tcp

login             	513/tcp

who               	513/udp    whod

shell             	514/tcp    cmd           	# no passwords used

syslog            	514/udp

printer           	515/tcp    spooler       	# line printer spooler

talk              	517/udp

ntalk             	518/udp

efs               	520/tcp                  	# for LucasFilm

route             	520/udp    router routed

timed             	525/udp    timeserver

tempo             	526/tcp    newdate

courier           	530/tcp    rpc

conference       	531/tcp    chat

rvd-control       	531/udp    MIT disk

netnews           	532/tcp    readnews

netwall           	533/udp                  	# -for emergency broadcasts

uucp              	540/tcp    uucpd         	# uucp daemon

klogin            	543/tcp                  	# Kerberos authenticated rlogin

kshell            	544/tcp    cmd           	# and remote shell

new-rwho          	550/udp    new-who       	# experimental

remotefs          	556/tcp    rfs_server rfs	# Brunhoff remote filesystem

rmonitor          	560/udp    rmonitord     	# experimental

monitor           	561/udp                  	# experimental

garcon            	600/tcp

maitrd            	601/tcp

busboy            	602/tcp

acctmaster        	700/udp

acctslave         	701/udp

acct              	702/udp

acctlogin         	703/udp

acctprinter       	704/udp

elcsd             	704/udp                  	# errlog

acctinfo          	705/udp

acctslave2        	706/udp

acctdisk          	707/udp

kerberos          	750/tcp    kdc           	# Kerberos authentication--tcp

kerberos          	750/udp    kdc           	# Kerberos authentication--udp

kerberos_master   751/tcp                  	# Kerberos authentication

kerberos_master   751/udp                  	# Kerberos authentication

passwd_server    752/udp                  	# Kerberos passwd server

userreg_server   753/udp                  	# Kerberos userreg server

krb_prop          	754/tcp                  # Kerberos slave propagation

erlogin           	888/tcp                  	# Login and environment passing

kpop             	1109/tcp                  	# Pop with Kerberos

phone            	1167/udp

ingreslock       	1524/tcp

maze             	1666/udp

nfs              	2049/udp                  	# sun nfs

knetd            	2053/tcp                  	# Kerberos de-multiplexor

eklogin          	2105/tcp                  	# Kerberos encrypted rlogin

rmt              	5555/tcp    rmtd

mtb              	5556/tcp    mtbd          	# mtb backup

man              	9535/tcp                  	# remote man server

w                	9536/tcp

mantst           	9537/tcp                  	# remote man server, testing

bnews           	10000/tcp

rscs0           	10000/udp

queue           	10001/tcp

rscs1           	10001/udp

poker           	10002/tcp

rscs2           	10002/udp

gateway         	10003/tcp

rscs3           	10003/udp

remp            	10004/tcp

rscs4           	10004/udp

rscs5           	10005/udp

rscs6           	10006/udp

rscs7           	10007/udp

rscs8           	10008/udp

rscs9           	10009/udp

rscsa           	10010/udp

rscsb           	10011/udp

qmaster         	10012/tcp

qmaster         	10012/udp


Methods

TZSocket

~TZSocket

GetText

SetText

ZConnect

ZReceive

ZSend

ZListen

ZCancelListen

ZAccept

ZClose

GetRemoteName

GetRemoteAddr

GetRemotePort

GetLocalHostName

GetLocalAddr

GetPeerAddr

GetPeerPort

IOCtl

SetSocketOption

GetSocketOption

Peek

ReceiveUrgent

SendUrgent

ZAsyncCancel


Properties

Type	Property

AnsiString 	RemoteAddr

AnsiString 	RemotePort

AnsiString 	Text

AnsiString	Version

long 	BufferSize

long	BytesAvailable

int	State

int 	Timeout

SOCKET	SocketHandle


Events

Event Type	Event

TNotifyEvent	OnSendComplete

TNotifyEvent	OnClose

TNotifyEvent	OnConnectionRequest

  TNotifyEvent	OnOKToWrite

  TNotifyEvent	OnConnect

TErrorEvent	OnError

TNotifyEvent	OnDataAvailable

TNotifyEvent	OnTimeout

TNotifyEvent	OnNameResolved