IP*Works! WS V9 - Online Help
IP*Works! WS V9
Questions / Feedback?

WSProxy Component

Properties   Methods   Events   Configuration Settings   Errors  

The WSProxy component is used to forward traffic received on a WebSocket to another destination.

Syntax

nsoftware.IPWorksWS.Wsproxy

Remarks

The WSProxy component provides a simple way to accept a WebSocket connection and forward the incoming data to a separate destination host.

The WSProxy component is a server that accepts incoming WebSocket connections and will establish an outgoing connection to the specified forward host and forward data it receives onto the final destination. For instance, take this diagram:

Client ---WebSocket protocol---> WSProxy ---plain TCP---> Forward Host

In this example the Client establishes a WebSocket connection to the WSProxy component. The WSProxy component then establishes a separate standard TCP connection to Forward Host. The Client can then communicate with the Forward Host and data will be passed through WSProxy.

To begin using the component first specify a valid value for LocalPort. This is the port on which incoming connections will be accepted. Specify values for DefaultForwardHost and DefaultForwardPort. This is the destination to which the data will be forwarded. Note that you may override these values on a per connection basis if desired when the client connects.

To begin listening set Listening to true.

When a client connects the WebSocketOpenRequest event will fire. To accept the connection simply allow the event to complete. To reject the request set the StatusCode parameter to an HTTP error code (such as 401). You may also set the ForwardHost and ForwardPort event parameters to override the default values.

Once the connection is established all data received on the connection will automatically be forwarded to the forward host. Any data received from the forward host will be sent back to the client. The client is now able to freely communicate with the forward host.

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for further details.

ConnectionBacklogThe maximum number of pending connections maintained by the TCP/IP subsystem.
ConnectionsA collection of currently connected WebSocket clients.
DefaultForwardHostThe default address of the host to which data will be forwarded.
DefaultForwardPortThe default port of the host to which data will be forwarded.
DefaultTimeoutAn initial timeout value to be used by incoming connections.
FirewallA set of properties related to firewall access.
ListeningIf True, the component accepts incoming connections on LocalPort.
LocalHostThe name of the local host or user-assigned IP interface through which connections are initiated or accepted.
LocalPortThe TCP port in the local host where the component listens.
SSLAuthenticateClientsIf true, the server asks the client(s) for a certificate.
SSLCertThe certificate to be used during SSL negotiation.
UseSSLDetermines if SSL is negotiated with incoming connections.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting .
DisconnectDisconnect the specified client.
DoEventsProcesses events from the internal message queue.
ShutdownShuts down the server.

Event List


The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.

ConnectedFired when a WebSocket is successfully opened.
ConnectionRequestFired when a request for connection comes from a remote host.
DataInFired when data is received.
DisconnectedFired when a WebSocket connection is disconnected.
ErrorInformation about errors during data delivery.
SSLClientAuthenticationFired when the client presents its credentials to the server.
SSLStatusShows the progress of the secure connection.
WebSocketOpenRequestFired when a client attempts to open a WebSocket.

Configuration Settings


The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.

WaitForCloseResponseDetermines whether or not the component will forcibly close a connection.
BufferMessageIndicates whether or not the entire message is buffered before firing the DataIn event.
DisconnectStatusCodeSpecifies the status code when closing a connection.
DisconnectStatusDescriptionSpecifies the message associated with the disconnect status code.
MaxFrameSizeSpecifies the maximum size of the outgoing message in bytes before fragmentation occurs.
BindExclusivelyWhether or not the component considers a local port reserved for exclusive use.
InBufferSizeThe size in bytes of the incoming queue of the socket.
MaxConnectionsThe maximum number of connections available.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
RecordLength[ConnectionId]The length of received data records.
TcpNoDelayWhether or not to delay when sending packets.
ReuseSSLSessionDetermines if the SSL session is reused.
SSLCipherStrengthThe minimum cipher strength used for bulk encryption.
SSLEnabledProtocolsUsed to enable/disable the supported security protocols.
SSLProviderThe name of the security provider to use.
SSLSecurityFlagsFlags that control certificate verification.
OpenSSLCADirThe path to a directory containing CA certificates.
OpenSSLCAFileName of the file containing the list of CA's trusted by your application.
OpenSSLCipherListA string that controls the ciphers to be used by SSL.
OpenSSLPrngSeedDataThe data to seed the pseudo random number generator (PRNG).
BindExclusivelyWhether or not the component considers a local port reserved for exclusive use.
InBufferSizeThe size in bytes of the incoming queue of the socket.
MaxConnectionsThe maximum number of connections available.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
RecordLength[ConnectionId]The length of received data records.
TcpNoDelayWhether or not to delay when sending packets.
ReuseSSLSessionDetermines if the SSL session is reused.
SSLCipherStrengthThe minimum cipher strength used for bulk encryption.
SSLEnabledProtocolsUsed to enable/disable the supported security protocols.
SSLProviderThe name of the security provider to use.
SSLSecurityFlagsFlags that control certificate verification.
OpenSSLCADirThe path to a directory containing CA certificates.
OpenSSLCAFileName of the file containing the list of CA's trusted by your application.
OpenSSLCipherListA string that controls the ciphers to be used by SSL.
OpenSSLPrngSeedDataThe data to seed the pseudo random number generator (PRNG).
CodePageThe system code page used for Unicode to Multibyte translations.

 
 
Copyright (c) 2017 /n software inc. - All rights reserved.
Build 9.0.6240.0