Namespace: OpenEdge.Net.ServerConnection
Class
ClientSocket
Parent classes:
Inherits: Progress.Lang.Object
Implements: OpenEdge.Core.ServerConnection.IServerConnection, OpenEdge.Logging.ISupportLogging

Copyright (c) 2014-2019 by Progress Software Corporation. All rights reserved.
File:ClientSocket
Description:An implementation of a client socket
Author(s):pjudge
Created:Tue Nov 25 09:13:36 EST 2014
/* Corresponds to the socket's LOCAL-HOST attribute




Method Summary
Options Name Purpose
Connect () /** Connect to the server specified, based on existing ConnectionParameters */
Connect (ClientSocketConnectionParameters) /** Connect to the server specified, based on passed-in Connection Parameters @param ClientSocketConnectionParameters Connection information for the connection. */
Connect (URI) /** Connect to the server specified, based on passed-in URI @param URI Connection information for the connection. */
CreateServer () /** Creates a server object (ie this-object:Server). This is separated from the Connect/Disconnect pair of methods so that one server can be connected and disconnected multiple time. */
DestroyServer () /** Destroys the server object (ie this-object:Server). This is separated from the Connect/Disconnect pair of methods so that one server can be connected and disconnected multiple time. */
Disconnect () /** Disconnect from the server, if connected */
LOGICAL IsConnected () /* Indicated whether we have a connection @return logical TRUE is the socket is connected; false otherwise */
OnDataReceived (SocketReadEventArgs) /** Publishes the DataReceived event. @param SocketReadEventArgs Arguments for this event */
OnReadTerminated (SocketReadEventArgs) /** Publishes the ReadTerminated event. @param EventArgs Arguments for this event */
OnReadTimeout (SocketReadEventArgs) /** Publishes the ReadTimeout event. @param EventArgs Arguments for this event */
ReadResponseHandler () /** Callback/event procedure fired on the READ-RESPONSE event of the socket. */
SetSocketOptions (handle) /* Sets the various socket options, per this object's properties. @param handle The socket on which to set these options */
StartTls (character) /* Starts a new TLS (for insecure connections), or changes (for already-secure) connections, the certificates used to decrypt the traffic. Used primarily for HTTP proxy tunnelling. @param character The certificate subject (host) name */
WaitForResponse () /** Waits for a response from a write event on the socket with a no timeout. Uses the default timeout, which is none/zero */
WaitForResponse (decimal) /** Waits for a response from a write event on the socket. Polls (ie loops) for a response @param decimal A timeout value for read events in seconds. A zero value means no timeout. */
WaitForResponseAsync (decimal) /** Waits for a response from a write event on the socket. Uses a WAIT-FOR loop to emulate/provide async. @param decimal A timeout value for read events in seconds. A zero value means no timeout. */
WriteData (Memptr) /** Writes data to the connected server. @param Memptr The data to be written to the socket. */

Constructor Summary
Options Name Purpose
ClientSocket () /** Default constructor. Connection parameters can be specified via the Connnect() method. */
ClientSocket (ClientSocketConnectionParameters) /** Constructor. @param ClientSocketConnectionParameters A URI and other parameters that this socket will connect to. */

Event Summary
Options Name Purpose
DataReceived (ClientSocket, SocketReadEventArgs) /** Event fired when a chunk of data is received from the socket */
ReadTerminated (ClientSocket, SocketReadEventArgs) /** Fired when a read is terminated for an reason (socket disconnect, no data etc) */
ReadTimeout (ClientSocket, SocketReadEventArgs) /** Fired when a read times out (optional based on a timeout) */

Property Summary
Options Name Purpose
LOGICAL Connected
OpenEdge.Core.ServerConnection.IConnectionParameters ConnectionParameters
INTEGER DefaultReadTimeout
LOGICAL KeepAlive
INTEGER LingerTime
CHARACTER LocalHost
INTEGER LocalPort
OpenEdge.Logging.ILogWriter Logger
LOGICAL NoDelay
INTEGER ReadBufferSize
INTEGER ReceiveBufferSize
INTEGER ReceiveTimeout
CHARACTER RemoteHost
INTEGER RemotePort
LOGICAL ReuseAddress
INTEGER SendBufferSize
Progress.Lang.Object Server
CHARACTER SslServerName


Method Detail
Top

PUBLIC Connect ()

Purpose: Connect to the server specified, based on existing ConnectionParameters
Top

PUBLIC Connect (ClientSocketConnectionParameters)

Purpose: Connect to the server specified, based on passed-in Connection Parameters
Parameters:
poParams OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters
Top

PUBLIC Connect (URI)

Purpose: Connect to the server specified, based on passed-in URI
Parameters:
poURI OpenEdge.Net.URI
Top

PUBLIC CreateServer ()

Purpose: Creates a server object (ie this-object:Server). This is separated
from the Connect/Disconnect pair of methods so that one server can
be connected and disconnected multiple time.
Top

PUBLIC DestroyServer ()

Purpose: Destroys the server object (ie this-object:Server). This is separated
from the Connect/Disconnect pair of methods so that one server can
be connected and disconnected multiple time.
Top

PUBLIC Disconnect ()

Purpose: Disconnect from the server, if connected
Top

PROTECTED LOGICAL IsConnected ()

/* Indicated whether we have a connection
Returns LOGICAL
logical TRUE is the socket is connected; false otherwise
Top

PROTECTED OnDataReceived (SocketReadEventArgs)

Purpose: Publishes the DataReceived event.
Parameters:
poEventArgs OpenEdge.Net.ServerConnection.SocketReadEventArgs
Top

PROTECTED OnReadTerminated (SocketReadEventArgs)

Purpose: Publishes the ReadTerminated event.
Parameters:
poEventArgs OpenEdge.Net.ServerConnection.SocketReadEventArgs
Top

PROTECTED OnReadTimeout (SocketReadEventArgs)

Purpose: Publishes the ReadTimeout event.
Parameters:
poEventArgs OpenEdge.Net.ServerConnection.SocketReadEventArgs
Top

PUBLIC ReadResponseHandler ()

Purpose: Callback/event procedure fired on the READ-RESPONSE event of the
socket.
Top

PRIVATE SetSocketOptions (handle)

/* Sets the various socket options, per this object's properties.
Parameters:
phSocket HANDLE
Top

PUBLIC StartTls (character)

/* Starts a new TLS (for insecure connections), or changes (for already-secure)
connections, the certificates used to decrypt the traffic. Used primarily
for HTTP proxy tunnelling.
Parameters:
pCertificatSubjectName CHARACTER
Top

PUBLIC WaitForResponse ()

Purpose: Waits for a response from a write event on the socket with a
no timeout. Uses the default timeout, which is none/zero
Top

PUBLIC WaitForResponse (decimal)

Purpose: Waits for a response from a write event on the socket. Polls
(ie loops) for a response
value means no timeout.
Parameters:
pdTimeout DECIMAL
Top

PUBLIC WaitForResponseAsync (decimal)

Purpose: Waits for a response from a write event on the socket. Uses a WAIT-FOR loop
to emulate/provide async.
value means no timeout.
Parameters:
pdTimeout DECIMAL
Top

PUBLIC WriteData (Memptr)

Purpose: Writes data to the connected server.
Parameters:
poData OpenEdge.Core.Memptr


Constructor Detail
Top

PUBLIC ClientSocket ()

Purpose: Default constructor. Connection parameters can be specified via the
Connnect() method.
Top

PUBLIC ClientSocket (ClientSocketConnectionParameters)

Purpose: Constructor.
this socket will connect to.
Parameters:
poConnectionParameters OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters


Event Detail
Top

PUBLIC DataReceived (ClientSocket, SocketReadEventArgs)

Purpose: Event fired when a chunk of data is received from the socket
Parameters:
poSender OpenEdge.Net.ServerConnection.ClientSocket
poEventArgs OpenEdge.Net.ServerConnection.SocketReadEventArgs
Top

PUBLIC ReadTerminated (ClientSocket, SocketReadEventArgs)

Purpose: Fired when a read is terminated for an reason (socket disconnect, no data etc)
Parameters:
poSender OpenEdge.Net.ServerConnection.ClientSocket
poEventArgs OpenEdge.Net.ServerConnection.SocketReadEventArgs
Top

PUBLIC ReadTimeout (ClientSocket, SocketReadEventArgs)

Purpose: Fired when a read times out (optional based on a timeout)
Parameters:
poSender OpenEdge.Net.ServerConnection.ClientSocket
poEventArgs OpenEdge.Net.ServerConnection.SocketReadEventArgs


Property Detail
Top

PUBLIC LOGICAL Connected

Returns LOGICAL
Top

PUBLIC OpenEdge.Core.ServerConnection.IConnectionParameters ConnectionParameters

Returns OpenEdge.Core.ServerConnection.IConnectionParameters
Top

PUBLIC INTEGER DefaultReadTimeout

Returns INTEGER
Top

PUBLIC LOGICAL KeepAlive

Returns LOGICAL
Top

PUBLIC INTEGER LingerTime

Returns INTEGER
Top

PUBLIC CHARACTER LocalHost

Returns CHARACTER
Top

PUBLIC INTEGER LocalPort

Returns INTEGER
Top

PUBLIC OpenEdge.Logging.ILogWriter Logger

Returns OpenEdge.Logging.ILogWriter
Top

PUBLIC LOGICAL NoDelay

Returns LOGICAL
Top

PUBLIC INTEGER ReadBufferSize

Returns INTEGER
Top

PUBLIC INTEGER ReceiveBufferSize

Returns INTEGER
Top

PUBLIC INTEGER ReceiveTimeout

Returns INTEGER
Top

PUBLIC CHARACTER RemoteHost

Returns CHARACTER
Top

PUBLIC INTEGER RemotePort

Returns INTEGER
Top

PUBLIC LOGICAL ReuseAddress

Returns LOGICAL
Top

PUBLIC INTEGER SendBufferSize

Returns INTEGER
Top

PUBLIC Progress.Lang.Object Server

Returns Progress.Lang.Object
Top

PUBLIC CHARACTER SslServerName

Returns CHARACTER


Copyright © 2020 Progress Software Corporation. All rights Reserved.

Progress® OpenEdge® Release 12.2.0