SuperTcpServerChannel
Overview
SuperTcpServerChannel implements the server side of the sophisticated and flexible TCP based communication channel that uses persistent connections to enable true asynchronous calls and server callbacks. This TCP channel is useful for scenarios where extensive use of events and server callbacks is needed.
Location
- Reference: RemObjects.SDK.Server.dll
- Namespace: RemObjects.SDK.Server
- Ancestry: Component | Channel | ServerChannel | SuperTcpServerChannel
constructor
constructor
SuperTcpServerChannel()
Sub New()
constructor (IContainer)
constructor(container: IContainer)
SuperTcpServerChannel(IContainer container)
Sub New(container As IContainer)
Parameters:
- container:
AckWaitTimeout
Specifies the time frame, in milliseconds, in which an "acknowledgement" message is expected to be received for a sent event (default is 60000, 1 minute).
If no acknowledgement has been received after the specified time, delivery will be considered to have failed and the event will be stored in queue for future retries.
property AckWaitTimeout: Int32 read write;
Int32 AckWaitTimeout { get; set; }
Property AckWaitTimeout() As Int32
Active (declared in ServerChannel)
Toggles whether the server component is active or not. Set it to true (either from code or in the Property Pane) to have your server active and listening for requests from clients or set it to false to prevent new requests from being accepted.
property Active: Boolean read write;
Boolean Active { get; set; }
Property Active() As Boolean
AdjustConvertedRodl (declared in ServerChannel)
event AdjustConvertedRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> AdjustConvertedRodl()
Event AdjustConvertedRodl As EventHandler<RodlEventArgs>
AdjustRodl (declared in ServerChannel)
event AdjustRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> AdjustRodl()
Event AdjustRodl As EventHandler<RodlEventArgs>
AfterClose (declared in ServerChannel)
event AfterClose: EventHandler;
delegate EventHandler AfterClose()
Event AfterClose As EventHandler
AfterOpen (declared in ServerChannel)
event AfterOpen: EventHandler;
delegate EventHandler AfterOpen()
Event AfterOpen As EventHandler
AfterReceiveStream (declared in Channel)
This event is triggered by client and server channels directly after a request or response stream has been received and before the stream gets parsed into a message. User code can assign handlers to this event to process, inspect or modify incoming messages, before they get handled by the Remoting SDK framework. The passed Stream is a MemoryStream and may be modified.
If no handlers are assigned to the AfterReceiveStream event, the message will load the data directly from the incoming medium (usually the network stream); assigning event handlers to AfterReceiveStream will induce a slight overhead as the data will first be copied into a local memory buffer for the event handler. This should not have any noticeably effect except for very large messages or on resource-limited systems such as Compact Framework Clients, but if utmost performance is important, take this note into consideration.
event AfterReceiveStream: EventHandler<StreamEventArgs>;
delegate EventHandler<StreamEventArgs> AfterReceiveStream()
Event AfterReceiveStream As EventHandler<StreamEventArgs>
BeforeClose (declared in ServerChannel)
event BeforeClose: EventHandler;
delegate EventHandler BeforeClose()
Event BeforeClose As EventHandler
BeforeOpen (declared in ServerChannel)
event BeforeOpen: EventHandler;
delegate EventHandler BeforeOpen()
Event BeforeOpen As EventHandler
BeforeSendStream (declared in Channel)
This event is triggered by client and server channels directly before a request or response stream will be sent over the network. User code can assign handlers to this event to process, inspect or modify incoming messages before they get sent out to the remote system.
The passed Stream is a MemoryStream and may be modified.
event BeforeSendStream: EventHandler<StreamEventArgs>;
delegate EventHandler<StreamEventArgs> BeforeSendStream()
Event BeforeSendStream As EventHandler<StreamEventArgs>
BlockingEvents
Affects the processing of events on the server.
Setting BlockingEvents to true delays the event's dispatching. In this case, client events will happen in the main thread of the server and will be suspended. This value is useful if you want to make sure that events arrive in order.
If you want to process multiple events at once, you should use the default value BlockingEvents = false. In this case, the event is put in queue and will be dispatched in a separate thread. You possibly will have to to control the thread pool queue from overflowing, using ThreadPool.MaxQueue and ThreadPool.MaxThreads properties.
property BlockingEvents: Boolean read write;
Boolean BlockingEvents { get; set; }
Property BlockingEvents() As Boolean
ChannelType
This property is needed to determine the type of server channel for internal purposes. It has a "supertcp" value.
property ChannelType: String read;
String ChannelType { get; }
ReadOnly Property ChannelType() As String
Close (declared in ServerChannel)
Closes the ServerChannel component and stops it from accepting any more incoming requests.
method Close
void Close()
Sub Close()
CloseChannel protected
method CloseChannel
void CloseChannel()
Sub CloseChannel()
CopyProperties protected (declared in Channel)
method CopyProperties(source: Channel)
void CopyProperties(Channel source)
Sub CopyProperties(source As Channel)
Parameters:
- source:
CustomParameters (declared in ServerChannel)
property CustomParameters: IDictionary<String, String> read;
IDictionary<String, String> CustomParameters { get; }
ReadOnly Property CustomParameters() As IDictionary<String, String>
Dispatch protected (declared in ServerChannel)
method Dispatch(message: IMessage; channelInfo: IServerChannelInfo)
void Dispatch(IMessage message, IServerChannelInfo channelInfo)
Sub Dispatch(message As IMessage, channelInfo As IServerChannelInfo)
Parameters:
- message:
- channelInfo:
Dispatchers (declared in ServerChannel)
Organizes the different Dispatchers configured for the server. Depending on the server type, different dispatchers can be made accessible through different names (for example the HTTP based servers use the Path provided with the HTTP request to determine the dispatcher) or the dispatcher marked as Default will be used. Note: A design time editor for the Dispatcher collection is provided in the IDE, which you can invoke by clicking the ellipsis (...) button in the Properties Pane. You can use this editor to create new MessageDispatcher instances at design time and link them to the specific message components you have dropped onto your form.
property Dispatchers: MessageDispatchers read;
MessageDispatchers Dispatchers { get; }
ReadOnly Property Dispatchers() As MessageDispatchers
Dispose protected
method Dispose(disposing: Boolean)
void Dispose(Boolean disposing)
Sub Dispose(disposing As Boolean)
Parameters:
- disposing:
GetRodl (declared in ServerChannel)
event GetRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> GetRodl()
Event GetRodl As EventHandler<RodlEventArgs>
GetServerRodl protected (declared in ServerChannel)
method GetServerRodl(context: Object; dispatcher: MessageDispatcher; serviceGroups: String; out contentType: String): Stream
Stream GetServerRodl(Object context, MessageDispatcher dispatcher, String serviceGroups, out String contentType)
Function GetServerRodl(context As Object, dispatcher As MessageDispatcher, serviceGroups As String, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- serviceGroups:
- contentType:
GetServiceMetaData protected (declared in ServerChannel)
method GetServiceMetaData(context: Object; dispatcher: MessageDispatcher; serviceName: String; options: Hashtable; out contentType: String): Stream
Stream GetServiceMetaData(Object context, MessageDispatcher dispatcher, String serviceName, Hashtable options, out String contentType)
Function GetServiceMetaData(context As Object, dispatcher As MessageDispatcher, serviceName As String, options As Hashtable, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- serviceName:
- options:
- contentType:
HasAfterReceiveStream protected (declared in Channel)
property HasAfterReceiveStream: Boolean read;
Boolean HasAfterReceiveStream { get; }
ReadOnly Property HasAfterReceiveStream() As Boolean
HasBeforeSendStream protected (declared in Channel)
property HasBeforeSendStream: Boolean read;
Boolean HasBeforeSendStream { get; }
ReadOnly Property HasBeforeSendStream() As Boolean
IncomingData protected
Enqueues incoming packages to the thread pool.
internal protected
method IncomingData(worker: SuperTcpServerChannelWorker; package: SuperTcpPackage)
void IncomingData(SuperTcpServerChannelWorker worker, SuperTcpPackage package)
Sub IncomingData(worker As SuperTcpServerChannelWorker, package As SuperTcpPackage)
Parameters:
- worker:
- package:
Initializing protected (declared in ServerChannel)
property Initializing: Boolean read;
Boolean Initializing { get; }
ReadOnly Property Initializing() As Boolean
IS_TRIAL_MODE protected (declared in ServerChannel)
const IS_TRIAL_MODE: Boolean = False;
const Boolean IS_TRIAL_MODE = False
Dim IS_TRIAL_MODE As Boolean = False
IsRegisteredWorker
method IsRegisteredWorker(worker: SuperTcpServerChannelWorker): Boolean
Boolean IsRegisteredWorker(SuperTcpServerChannelWorker worker)
Function IsRegisteredWorker(worker As SuperTcpServerChannelWorker) As Boolean
Parameters:
- worker:
IsSingleRegisteredWorker
method IsSingleRegisteredWorker(clientId: Guid): Boolean
Boolean IsSingleRegisteredWorker(Guid clientId)
Function IsSingleRegisteredWorker(clientId As Guid) As Boolean
Parameters:
- clientId:
IsTlsEnabled
property IsTlsEnabled: Boolean read;
Boolean IsTlsEnabled { get; }
ReadOnly Property IsTlsEnabled() As Boolean
MaxPackageSize
Determines the maximum size of data that server is able to receive (default is 1048576, 1MB).
property MaxPackageSize: Int32 read write;
Int32 MaxPackageSize { get; set; }
Property MaxPackageSize() As Int32
Messages (declared in ServerChannel)
property Messages: IList<String> read;
IList<String> Messages { get; }
ReadOnly Property Messages() As IList<String>
OnConnected
Fires when an active TCP connection to the server has been (re-)established.
event OnConnected: OnConnectedHandler;
delegate: method OnConnected(sender: Object; info: IServerChannelInfo; clientId: Guid)
delegate OnConnectedHandler OnConnected()
delegate: void OnConnected(Object sender, IServerChannelInfo info, Guid clientId)
Event OnConnected As OnConnectedHandler
delegate: Sub OnConnected(sender As Object, info As IServerChannelInfo, clientId As Guid)
OnDisconnected
Fires when the active TCP connection to the server has been dropped or lost.
event OnDisconnected: OnConnectedHandler;
delegate: method OnDisconnected(sender: Object; info: IServerChannelInfo; clientId: Guid)
delegate OnConnectedHandler OnDisconnected()
delegate: void OnDisconnected(Object sender, IServerChannelInfo info, Guid clientId)
Event OnDisconnected As OnConnectedHandler
delegate: Sub OnDisconnected(sender As Object, info As IServerChannelInfo, clientId As Guid)
Open (declared in ServerChannel)
Opens the ServerChannel component and starts accepting incoming requests. Depending on the server type, this usually involves starting to listen on a network socket or polling some source for waiting messages.
method Open
void Open()
Sub Open()
OpenChannel protected
method OpenChannel
void OpenChannel()
Sub OpenChannel()
Port
The network socket the server will be listening to (default for the Remoting SDK Super TCP servers is 8095).
property Port: Int32 read write;
Int32 Port { get; set; }
Property Port() As Int32
PROBE_REQUEST protected (declared in ServerChannel)
const PROBE_REQUEST: String = "PROBE";
const String PROBE_REQUEST = "PROBE"
Dim PROBE_REQUEST As String = "PROBE"
PROBE_REQUEST_LENGTH protected (declared in ServerChannel)
const PROBE_REQUEST_LENGTH: Int32 = 5;
const Int32 PROBE_REQUEST_LENGTH = 5
Dim PROBE_REQUEST_LENGTH As Int32 = 5
PROBE_RESPONSE_LENGTH protected (declared in ServerChannel)
const PROBE_RESPONSE_LENGTH: Int32 = 8;
const Int32 PROBE_RESPONSE_LENGTH = 8
Dim PROBE_RESPONSE_LENGTH As Int32 = 8
RegisterWorker
method RegisterWorker(worker: SuperTcpServerChannelWorker)
void RegisterWorker(SuperTcpServerChannelWorker worker)
Sub RegisterWorker(worker As SuperTcpServerChannelWorker)
Parameters:
- worker:
Server
Provides read-only access to the underlying server object that wraps the server socket.
property Server: AsyncTcpServer read;
AsyncTcpServer Server { get; }
ReadOnly Property Server() As AsyncTcpServer
ServeRodl (declared in ServerChannel)
Toggles whether clients can request the RODL file for this server via IRodlAccess or channel-specific means (such as by submitting a HTTP GET request to an HTTP server). By default, this option is turned on; set this property to false if you want to prevent clients from retrieving the RODL file from the server.
property ServeRodl: Boolean read write;
Boolean ServeRodl { get; set; }
Property ServeRodl() As Boolean
ServiceGroup (declared in ServerChannel)
Allows to get/set Service Groups
property ServiceGroup: String read write;
String ServiceGroup { get; set; }
Property ServiceGroup() As String
SkipAck
property SkipAck: Boolean read write;
Boolean SkipAck { get; set; }
Property SkipAck() As Boolean
SslOptions
property SslOptions: SslConnectionFactory read;
SslConnectionFactory SslOptions { get; }
ReadOnly Property SslOptions() As SslConnectionFactory
ThreadPool
property ThreadPool: IThreadPool read write;
IThreadPool ThreadPool { get; set; }
Property ThreadPool() As IThreadPool
TriggerAdjustConvertedRodl protected (declared in ServerChannel)
method TriggerAdjustConvertedRodl(e: RodlEventArgs)
void TriggerAdjustConvertedRodl(RodlEventArgs e)
Sub TriggerAdjustConvertedRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerAdjustRodl protected (declared in ServerChannel)
method TriggerAdjustRodl(e: RodlEventArgs)
void TriggerAdjustRodl(RodlEventArgs e)
Sub TriggerAdjustRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerAfterClose protected (declared in ServerChannel)
method TriggerAfterClose
void TriggerAfterClose()
Sub TriggerAfterClose()
TriggerAfterOpen protected (declared in ServerChannel)
method TriggerAfterOpen
void TriggerAfterOpen()
Sub TriggerAfterOpen()
TriggerAfterReceiveStream protected (declared in Channel)
method TriggerAfterReceiveStream(var stream: Stream)
void TriggerAfterReceiveStream(ref Stream stream)
Sub TriggerAfterReceiveStream(ByRef stream As Stream)
Parameters:
- stream:
TriggerBeforeClose protected (declared in ServerChannel)
method TriggerBeforeClose
void TriggerBeforeClose()
Sub TriggerBeforeClose()
TriggerBeforeOpen protected (declared in ServerChannel)
method TriggerBeforeOpen
void TriggerBeforeOpen()
Sub TriggerBeforeOpen()
TriggerBeforeSendStream protected (declared in Channel)
method TriggerBeforeSendStream(var stream: Stream)
void TriggerBeforeSendStream(ref Stream stream)
Sub TriggerBeforeSendStream(ByRef stream As Stream)
Parameters:
- stream:
TriggerGetRodl protected (declared in ServerChannel)
method TriggerGetRodl(e: RodlEventArgs)
void TriggerGetRodl(RodlEventArgs e)
Sub TriggerGetRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerOnConnected protected
Forces OnConnected event.
internal protected
method TriggerOnConnected(channel: IServerChannelInfo; clientId: Guid)
void TriggerOnConnected(IServerChannelInfo channel, Guid clientId)
Sub TriggerOnConnected(channel As IServerChannelInfo, clientId As Guid)
Parameters:
- channel:
- clientId:
TriggerOnDisconnected protected
Forces OnDisconnected event.
internal protected
method TriggerOnDisconnected(channel: IServerChannelInfo; clientId: Guid)
void TriggerOnDisconnected(IServerChannelInfo channel, Guid clientId)
Sub TriggerOnDisconnected(channel As IServerChannelInfo, clientId As Guid)
Parameters:
- channel:
- clientId:
UnregisterWorker
method UnregisterWorker(worker: SuperTcpServerChannelWorker)
void UnregisterWorker(SuperTcpServerChannelWorker worker)
Sub UnregisterWorker(worker As SuperTcpServerChannelWorker)
Parameters:
- worker:
ValidateServiceGroup (declared in ServerChannel)
method ValidateServiceGroup(serviceGroups: array of String): Boolean
Boolean ValidateServiceGroup(String[] serviceGroups)
Function ValidateServiceGroup(serviceGroups As String()) As Boolean
Parameters:
- serviceGroups:
IS_TRIAL_MODE protected (declared in ServerChannel)
const IS_TRIAL_MODE: Boolean = False;
const Boolean IS_TRIAL_MODE = False
Dim IS_TRIAL_MODE As Boolean = False
PROBE_REQUEST protected (declared in ServerChannel)
const PROBE_REQUEST: String = "PROBE";
const String PROBE_REQUEST = "PROBE"
Dim PROBE_REQUEST As String = "PROBE"
PROBE_REQUEST_LENGTH protected (declared in ServerChannel)
const PROBE_REQUEST_LENGTH: Int32 = 5;
const Int32 PROBE_REQUEST_LENGTH = 5
Dim PROBE_REQUEST_LENGTH As Int32 = 5
PROBE_RESPONSE_LENGTH protected (declared in ServerChannel)
const PROBE_RESPONSE_LENGTH: Int32 = 8;
const Int32 PROBE_RESPONSE_LENGTH = 8
Dim PROBE_RESPONSE_LENGTH As Int32 = 8
AckWaitTimeout
Specifies the time frame, in milliseconds, in which an "acknowledgement" message is expected to be received for a sent event (default is 60000, 1 minute).
If no acknowledgement has been received after the specified time, delivery will be considered to have failed and the event will be stored in queue for future retries.
property AckWaitTimeout: Int32 read write;
Int32 AckWaitTimeout { get; set; }
Property AckWaitTimeout() As Int32
Active (declared in ServerChannel)
Toggles whether the server component is active or not. Set it to true (either from code or in the Property Pane) to have your server active and listening for requests from clients or set it to false to prevent new requests from being accepted.
property Active: Boolean read write;
Boolean Active { get; set; }
Property Active() As Boolean
BlockingEvents
Affects the processing of events on the server.
Setting BlockingEvents to true delays the event's dispatching. In this case, client events will happen in the main thread of the server and will be suspended. This value is useful if you want to make sure that events arrive in order.
If you want to process multiple events at once, you should use the default value BlockingEvents = false. In this case, the event is put in queue and will be dispatched in a separate thread. You possibly will have to to control the thread pool queue from overflowing, using ThreadPool.MaxQueue and ThreadPool.MaxThreads properties.
property BlockingEvents: Boolean read write;
Boolean BlockingEvents { get; set; }
Property BlockingEvents() As Boolean
ChannelType
This property is needed to determine the type of server channel for internal purposes. It has a "supertcp" value.
property ChannelType: String read;
String ChannelType { get; }
ReadOnly Property ChannelType() As String
CustomParameters (declared in ServerChannel)
property CustomParameters: IDictionary<String, String> read;
IDictionary<String, String> CustomParameters { get; }
ReadOnly Property CustomParameters() As IDictionary<String, String>
Dispatchers (declared in ServerChannel)
Organizes the different Dispatchers configured for the server. Depending on the server type, different dispatchers can be made accessible through different names (for example the HTTP based servers use the Path provided with the HTTP request to determine the dispatcher) or the dispatcher marked as Default will be used. Note: A design time editor for the Dispatcher collection is provided in the IDE, which you can invoke by clicking the ellipsis (...) button in the Properties Pane. You can use this editor to create new MessageDispatcher instances at design time and link them to the specific message components you have dropped onto your form.
property Dispatchers: MessageDispatchers read;
MessageDispatchers Dispatchers { get; }
ReadOnly Property Dispatchers() As MessageDispatchers
HasAfterReceiveStream protected (declared in Channel)
property HasAfterReceiveStream: Boolean read;
Boolean HasAfterReceiveStream { get; }
ReadOnly Property HasAfterReceiveStream() As Boolean
HasBeforeSendStream protected (declared in Channel)
property HasBeforeSendStream: Boolean read;
Boolean HasBeforeSendStream { get; }
ReadOnly Property HasBeforeSendStream() As Boolean
Initializing protected (declared in ServerChannel)
property Initializing: Boolean read;
Boolean Initializing { get; }
ReadOnly Property Initializing() As Boolean
IsTlsEnabled
property IsTlsEnabled: Boolean read;
Boolean IsTlsEnabled { get; }
ReadOnly Property IsTlsEnabled() As Boolean
MaxPackageSize
Determines the maximum size of data that server is able to receive (default is 1048576, 1MB).
property MaxPackageSize: Int32 read write;
Int32 MaxPackageSize { get; set; }
Property MaxPackageSize() As Int32
Messages (declared in ServerChannel)
property Messages: IList<String> read;
IList<String> Messages { get; }
ReadOnly Property Messages() As IList<String>
Port
The network socket the server will be listening to (default for the Remoting SDK Super TCP servers is 8095).
property Port: Int32 read write;
Int32 Port { get; set; }
Property Port() As Int32
Server
Provides read-only access to the underlying server object that wraps the server socket.
property Server: AsyncTcpServer read;
AsyncTcpServer Server { get; }
ReadOnly Property Server() As AsyncTcpServer
ServeRodl (declared in ServerChannel)
Toggles whether clients can request the RODL file for this server via IRodlAccess or channel-specific means (such as by submitting a HTTP GET request to an HTTP server). By default, this option is turned on; set this property to false if you want to prevent clients from retrieving the RODL file from the server.
property ServeRodl: Boolean read write;
Boolean ServeRodl { get; set; }
Property ServeRodl() As Boolean
ServiceGroup (declared in ServerChannel)
Allows to get/set Service Groups
property ServiceGroup: String read write;
String ServiceGroup { get; set; }
Property ServiceGroup() As String
SkipAck
property SkipAck: Boolean read write;
Boolean SkipAck { get; set; }
Property SkipAck() As Boolean
SslOptions
property SslOptions: SslConnectionFactory read;
SslConnectionFactory SslOptions { get; }
ReadOnly Property SslOptions() As SslConnectionFactory
ThreadPool
property ThreadPool: IThreadPool read write;
IThreadPool ThreadPool { get; set; }
Property ThreadPool() As IThreadPool
constructor
constructor
SuperTcpServerChannel()
Sub New()
constructor (IContainer)
constructor(container: IContainer)
SuperTcpServerChannel(IContainer container)
Sub New(container As IContainer)
Parameters:
- container:
Close (declared in ServerChannel)
Closes the ServerChannel component and stops it from accepting any more incoming requests.
method Close
void Close()
Sub Close()
CloseChannel protected
method CloseChannel
void CloseChannel()
Sub CloseChannel()
CopyProperties protected (declared in Channel)
method CopyProperties(source: Channel)
void CopyProperties(Channel source)
Sub CopyProperties(source As Channel)
Parameters:
- source:
Dispatch protected (declared in ServerChannel)
method Dispatch(message: IMessage; channelInfo: IServerChannelInfo)
void Dispatch(IMessage message, IServerChannelInfo channelInfo)
Sub Dispatch(message As IMessage, channelInfo As IServerChannelInfo)
Parameters:
- message:
- channelInfo:
Dispose protected
method Dispose(disposing: Boolean)
void Dispose(Boolean disposing)
Sub Dispose(disposing As Boolean)
Parameters:
- disposing:
GetServerRodl protected (declared in ServerChannel)
method GetServerRodl(context: Object; dispatcher: MessageDispatcher; serviceGroups: String; out contentType: String): Stream
Stream GetServerRodl(Object context, MessageDispatcher dispatcher, String serviceGroups, out String contentType)
Function GetServerRodl(context As Object, dispatcher As MessageDispatcher, serviceGroups As String, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- serviceGroups:
- contentType:
GetServiceMetaData protected (declared in ServerChannel)
method GetServiceMetaData(context: Object; dispatcher: MessageDispatcher; serviceName: String; options: Hashtable; out contentType: String): Stream
Stream GetServiceMetaData(Object context, MessageDispatcher dispatcher, String serviceName, Hashtable options, out String contentType)
Function GetServiceMetaData(context As Object, dispatcher As MessageDispatcher, serviceName As String, options As Hashtable, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- serviceName:
- options:
- contentType:
IncomingData protected
Enqueues incoming packages to the thread pool.
internal protected
method IncomingData(worker: SuperTcpServerChannelWorker; package: SuperTcpPackage)
void IncomingData(SuperTcpServerChannelWorker worker, SuperTcpPackage package)
Sub IncomingData(worker As SuperTcpServerChannelWorker, package As SuperTcpPackage)
Parameters:
- worker:
- package:
IsRegisteredWorker
method IsRegisteredWorker(worker: SuperTcpServerChannelWorker): Boolean
Boolean IsRegisteredWorker(SuperTcpServerChannelWorker worker)
Function IsRegisteredWorker(worker As SuperTcpServerChannelWorker) As Boolean
Parameters:
- worker:
IsSingleRegisteredWorker
method IsSingleRegisteredWorker(clientId: Guid): Boolean
Boolean IsSingleRegisteredWorker(Guid clientId)
Function IsSingleRegisteredWorker(clientId As Guid) As Boolean
Parameters:
- clientId:
Open (declared in ServerChannel)
Opens the ServerChannel component and starts accepting incoming requests. Depending on the server type, this usually involves starting to listen on a network socket or polling some source for waiting messages.
method Open
void Open()
Sub Open()
OpenChannel protected
method OpenChannel
void OpenChannel()
Sub OpenChannel()
RegisterWorker
method RegisterWorker(worker: SuperTcpServerChannelWorker)
void RegisterWorker(SuperTcpServerChannelWorker worker)
Sub RegisterWorker(worker As SuperTcpServerChannelWorker)
Parameters:
- worker:
TriggerAdjustConvertedRodl protected (declared in ServerChannel)
method TriggerAdjustConvertedRodl(e: RodlEventArgs)
void TriggerAdjustConvertedRodl(RodlEventArgs e)
Sub TriggerAdjustConvertedRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerAdjustRodl protected (declared in ServerChannel)
method TriggerAdjustRodl(e: RodlEventArgs)
void TriggerAdjustRodl(RodlEventArgs e)
Sub TriggerAdjustRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerAfterClose protected (declared in ServerChannel)
method TriggerAfterClose
void TriggerAfterClose()
Sub TriggerAfterClose()
TriggerAfterOpen protected (declared in ServerChannel)
method TriggerAfterOpen
void TriggerAfterOpen()
Sub TriggerAfterOpen()
TriggerAfterReceiveStream protected (declared in Channel)
method TriggerAfterReceiveStream(var stream: Stream)
void TriggerAfterReceiveStream(ref Stream stream)
Sub TriggerAfterReceiveStream(ByRef stream As Stream)
Parameters:
- stream:
TriggerBeforeClose protected (declared in ServerChannel)
method TriggerBeforeClose
void TriggerBeforeClose()
Sub TriggerBeforeClose()
TriggerBeforeOpen protected (declared in ServerChannel)
method TriggerBeforeOpen
void TriggerBeforeOpen()
Sub TriggerBeforeOpen()
TriggerBeforeSendStream protected (declared in Channel)
method TriggerBeforeSendStream(var stream: Stream)
void TriggerBeforeSendStream(ref Stream stream)
Sub TriggerBeforeSendStream(ByRef stream As Stream)
Parameters:
- stream:
TriggerGetRodl protected (declared in ServerChannel)
method TriggerGetRodl(e: RodlEventArgs)
void TriggerGetRodl(RodlEventArgs e)
Sub TriggerGetRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerOnConnected protected
Forces OnConnected event.
internal protected
method TriggerOnConnected(channel: IServerChannelInfo; clientId: Guid)
void TriggerOnConnected(IServerChannelInfo channel, Guid clientId)
Sub TriggerOnConnected(channel As IServerChannelInfo, clientId As Guid)
Parameters:
- channel:
- clientId:
TriggerOnDisconnected protected
Forces OnDisconnected event.
internal protected
method TriggerOnDisconnected(channel: IServerChannelInfo; clientId: Guid)
void TriggerOnDisconnected(IServerChannelInfo channel, Guid clientId)
Sub TriggerOnDisconnected(channel As IServerChannelInfo, clientId As Guid)
Parameters:
- channel:
- clientId:
UnregisterWorker
method UnregisterWorker(worker: SuperTcpServerChannelWorker)
void UnregisterWorker(SuperTcpServerChannelWorker worker)
Sub UnregisterWorker(worker As SuperTcpServerChannelWorker)
Parameters:
- worker:
ValidateServiceGroup (declared in ServerChannel)
method ValidateServiceGroup(serviceGroups: array of String): Boolean
Boolean ValidateServiceGroup(String[] serviceGroups)
Function ValidateServiceGroup(serviceGroups As String()) As Boolean
Parameters:
- serviceGroups:
AdjustConvertedRodl (declared in ServerChannel)
event AdjustConvertedRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> AdjustConvertedRodl()
Event AdjustConvertedRodl As EventHandler<RodlEventArgs>
AdjustRodl (declared in ServerChannel)
event AdjustRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> AdjustRodl()
Event AdjustRodl As EventHandler<RodlEventArgs>
AfterClose (declared in ServerChannel)
event AfterClose: EventHandler;
delegate EventHandler AfterClose()
Event AfterClose As EventHandler
AfterOpen (declared in ServerChannel)
event AfterOpen: EventHandler;
delegate EventHandler AfterOpen()
Event AfterOpen As EventHandler
AfterReceiveStream (declared in Channel)
This event is triggered by client and server channels directly after a request or response stream has been received and before the stream gets parsed into a message. User code can assign handlers to this event to process, inspect or modify incoming messages, before they get handled by the Remoting SDK framework. The passed Stream is a MemoryStream and may be modified.
If no handlers are assigned to the AfterReceiveStream event, the message will load the data directly from the incoming medium (usually the network stream); assigning event handlers to AfterReceiveStream will induce a slight overhead as the data will first be copied into a local memory buffer for the event handler. This should not have any noticeably effect except for very large messages or on resource-limited systems such as Compact Framework Clients, but if utmost performance is important, take this note into consideration.
event AfterReceiveStream: EventHandler<StreamEventArgs>;
delegate EventHandler<StreamEventArgs> AfterReceiveStream()
Event AfterReceiveStream As EventHandler<StreamEventArgs>
BeforeClose (declared in ServerChannel)
event BeforeClose: EventHandler;
delegate EventHandler BeforeClose()
Event BeforeClose As EventHandler
BeforeOpen (declared in ServerChannel)
event BeforeOpen: EventHandler;
delegate EventHandler BeforeOpen()
Event BeforeOpen As EventHandler
BeforeSendStream (declared in Channel)
This event is triggered by client and server channels directly before a request or response stream will be sent over the network. User code can assign handlers to this event to process, inspect or modify incoming messages before they get sent out to the remote system.
The passed Stream is a MemoryStream and may be modified.
event BeforeSendStream: EventHandler<StreamEventArgs>;
delegate EventHandler<StreamEventArgs> BeforeSendStream()
Event BeforeSendStream As EventHandler<StreamEventArgs>
GetRodl (declared in ServerChannel)
event GetRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> GetRodl()
Event GetRodl As EventHandler<RodlEventArgs>
OnConnected
Fires when an active TCP connection to the server has been (re-)established.
event OnConnected: OnConnectedHandler;
delegate: method OnConnected(sender: Object; info: IServerChannelInfo; clientId: Guid)
delegate OnConnectedHandler OnConnected()
delegate: void OnConnected(Object sender, IServerChannelInfo info, Guid clientId)
Event OnConnected As OnConnectedHandler
delegate: Sub OnConnected(sender As Object, info As IServerChannelInfo, clientId As Guid)
OnDisconnected
Fires when the active TCP connection to the server has been dropped or lost.
event OnDisconnected: OnConnectedHandler;
delegate: method OnDisconnected(sender: Object; info: IServerChannelInfo; clientId: Guid)
delegate OnConnectedHandler OnDisconnected()
delegate: void OnDisconnected(Object sender, IServerChannelInfo info, Guid clientId)
Event OnDisconnected As OnConnectedHandler
delegate: Sub OnDisconnected(sender As Object, info As IServerChannelInfo, clientId As Guid)