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

Copyright (c) 2014-2020 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

Connect ()

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

Connect (ClientSocketConnectionParameters)

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

Connect (URI)

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

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

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

Disconnect ()

Purpose: Disconnect from the server, if connected
Top

LOGICAL IsConnected ()

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

OnDataReceived (SocketReadEventArgs)

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

OnReadTerminated (SocketReadEventArgs)

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

OnReadTimeout (SocketReadEventArgs)

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

ReadResponseHandler ()

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

SetSocketOptions (handle)

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

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

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

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

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

WriteData (Memptr)

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


Constructor Detail
Top

ClientSocket ()

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

ClientSocket (ClientSocketConnectionParameters)

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


Event Detail
Top

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

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

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

LOGICAL Connected

Returns LOGICAL
Top

OpenEdge.Core.ServerConnection.IConnectionParameters ConnectionParameters

Returns OpenEdge.Core.ServerConnection.IConnectionParameters
Top

INTEGER DefaultReadTimeout

Returns INTEGER
Top

LOGICAL KeepAlive

Returns LOGICAL
Top

INTEGER LingerTime

Returns INTEGER
Top

CHARACTER LocalHost

Returns CHARACTER
Top

INTEGER LocalPort

Returns INTEGER
Top

OpenEdge.Logging.ILogWriter Logger

Returns OpenEdge.Logging.ILogWriter
Top

LOGICAL NoDelay

Returns LOGICAL
Top

INTEGER ReadBufferSize

Returns INTEGER
Top

INTEGER ReceiveBufferSize

Returns INTEGER
Top

INTEGER ReceiveTimeout

Returns INTEGER
Top

CHARACTER RemoteHost

Returns CHARACTER
Top

INTEGER RemotePort

Returns INTEGER
Top

LOGICAL ReuseAddress

Returns LOGICAL
Top

INTEGER SendBufferSize

Returns INTEGER
Top

Progress.Lang.Object Server

Returns Progress.Lang.Object
Top

CHARACTER SslServerName

Returns CHARACTER


Copyright © 2022 Progress Software Corporation. All rights Reserved.

Progress® OpenEdge® Release 11.7.15