Search: 
Available in: SSL
Ipdaemons Class
IPDaemonS Component [IP*Works! SSL V8]

Properties   Methods   Events   Configuration Settings  

The IPDaemonS component is used to create TCP/IP servers. The component handles multiple simultaneous connections on the same TCP/IP port (service port). It is designed to balance the load between connections for a fast, powerful server.

NOTE: What follows is a very short description of the component interfaces. For more information, please consult the help files that come with the respective package.

Remarks

The IPDaemonS component is the SSL-enabled equivalent of the IP*Works! IPDaemon component. The main difference is the introduction of a set of new properties and events that deal with SSL security. The SSLProvider configuration setting chooses a security provider subsystem. The SSLEnabledProtocols and SSLCipherStrength configuration settings determine which protocols are enabled and at what security level. The SSLCert properties are used to select a certificate for the server (please note that a valid certificate MUST be selected before the server can function). The SSLAuthenticateClients property together with SSLClientAuthentication event allow you to use digital certificates for client authentication. Finally, the SSLStatus event provides information about the SSL handshake.

IPDaemonS is the server complement of IPPortS (which is used to create client applications). They share a common design philosophy and interface. We expect you will find IPDaemonS as easy to use as IPPortS.

By default, each instance of IPDaemonS can handle up to 1000 simultaneous incoming connections (this number may be increased up to 100,000, or decreased to a lower value by using the MaxConnections configuration setting).

The connections are identified by a ConnectionId (a number between 1 and MaxConnections). IPDaemon's events also have ConnectionId as a parameter to identify the connection they relate to.

Our main goal in designing IPDaemonS was to make it easy to use without sacrificing performance. The component has a minimum of properties, and six events: ConnectionRequest, Connected, DataIn, Disconnected, ReadyToSend, and Error.

IPDaemonS can start to listen on a port by setting the Listening property to True. When a remote host asks for a connection, the ConnectionRequest event is fired. At that point, the connection can either be accepted or rejected. If the connection is accepted, a ConnectionId is assigned, and communication can start. From this point on, the operation is very similar to IPPort. Data is sent by assigning the data string to the DataToSend property. The address and port of the incoming connection can be found by querying the RemoteHost and RemotePort properties.

Property List


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

ConnectionBacklog The maximum number of pending connections maintained by the TCP/IP subsystem.
Connections A collection of currently connected clients.
DefaultEOL A default EOL value to be used by incoming connections.
DefaultMaxLineLength The default maximum line length value for inbound connections.
DefaultSingleLineMode Tells the component whether or not to treat new connections as line-oriented.
DefaultTimeout An initial timeout value to be used by incoming connections.
KeepAlive When True, KEEPALIVE packets are enabled (for long connections).
Linger When set to True, connections are terminated gracefully.
Listening If True, the component accepts incoming connections on LocalPort.
LocalHost The name of the local host or user-assigned IP interface through which connections are initiated or accepted.
LocalPort The TCP port in the local host where the component listens.
SSLAuthenticateClients If true, the server asks the client(s) for a certificate.
SSLCert The certificate to be used during ssl negotiation.
SSLStartMode Determines how the component starts the SSL negotiation.

Method List


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

Config Sets or retrieves a component configuration setting.
Disconnect Disconnect from the remote host.
DoEvents Processes events from the internal message queue.
Send Send data to the remote host.
SendFile Send file to the remote host.
SendLine Sends a string followed by a newline.
Shutdown Shutdown the server.
StartSSL starts SSL negotiation on a connection.

Event List


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

Connected Fired immediately after a connection completes (or fails).
ConnectionRequest Fired when a request for connection comes from a remote host.
DataIn Fired when data (complete lines) comes in.
Disconnected Fired when a connection is closed.
Error Information about errors during data delivery.
ReadyToSend Fired when the component is ready to send data.
SSLClientAuthentication Fired when the client presents its credentials to the server.
SSLStatus Shows the progress of the secure connection.

Configuration Settings


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

AcceptAnyServerCert If set the component will accept any certificate presented by the server
BindExclusively Whether or not the component considers a local port reserved for exclusive use.
CloseStreamAfterTransfer If true, the component will close the upload or download stream after the transfer.
CodePage The system code page used for Unicode to Multibyte translations (Windows/COM only).
InBufferSize The size in bytes of the incoming queue of the socket.
MaxConnections The maximum number of connections available
OpenSSLCADir The path to a directory containing CA certificates.
OpenSSLCAFile Name of the file containing the list of CA's trusted by your application.
OpenSSLCipherList A string that controls the ciphers to be used by SSL.
OpenSSLPrngSeedData The data to seed the pseudo random number generator(PRNG).
OutBufferSize The size in bytes of the outgoing queue of the socket.
ReuseSSLSession Determines if the SSL session is reused.
SSLCipherStrength The minimum cipher strength used for bulk encryption.
SSLEnabledProtocols Used to enable/disable the supported security protocols.
SSLProvider The name of the security provider to use.
SSLSecurityFlags Flags that control certificate verification
TcpNoDelay Whether or not to delay when sending packets
WinsockInfo Identifying information about the loaded Winsock stack (Windows only)
WinsockLoaded Loads and unloads Winsock on demand (Windows only)
WinsockMaxDatagramSize Size in bytes of the largest UDP datagram that can be sent or received (Windows only)
WinsockMaxSockets Maximum number of sockets available to a single process (Windows only)
WinsockPath The path to the Winsock DLL used (Windows only)
WinsockStatus The status of the Winsock stack (Windows only)

| About | Privacy Policy | Terms of Use |
© Copyright 2008 /n software inc.