RUDPClient Bean
Properties Methods Events Configuration Settings Errors
The RUDPClient component is a Reliable UDP client based on an asynchronous, event-driven architecture.
Syntax
IPWorksRTC.Rudpclient
Remarks
The RUDPClient bean implements a Reliable UDP client based on RFC 908. Use of RUDPClient guarantees that data is delivered to the remote host using UDP as a transport mechanism.
Our main goal in designing RUDPClient was ease of use. The bean has a minimum of properties and events.
The connection is attempted by calling the Connect method or setting the Connected property to True, and then waiting for the Connected event. The destination is defined by setting RemoteHost and RemotePort. Data is sent by calling the Send method with Text as a parameter, or by assigning the data string to the DataToSend property.
To disconnect, call the Disconnect method or set the Connected property to False. The Linger property controls how the connection is terminated.
The operation of the bean is can be synchronous or asynchronous depending on the value of Timeout.
Rudpserver server = new Rudpserver(); server.OnDataIn += (s,e) => { //The DataIn event fires when data is received. Console.WriteLine("Server Received: " + e.Text); //Echo text back server.Connections[e.ConnectionId].DataToSend = e.Text; }; server.LocalPort = 4444; server.Listening = true; Rudpclient client = new Rudpclient(); client.OnDataIn += (s, e) => { //The DataIn event fires when data is received. Console.WriteLine("Client Received: " + e.Text); }; client.Connect("localhost", 4444); //Send data to the server client.DataToSend = "Hello World!";
Property List
The following is the full list of the properties of the bean with short descriptions. Click on the links for further details.
AcceptData | Enables or disables data reception (the DataIn event). |
BytesSent | The number of bytes actually sent after an assignment to DataToSend . |
Connected | Triggers a connection or disconnection. |
DataToSend | A string of data to be sent to the remote host. |
KeepAlive | When True, KeepAlive packets are enabled (for long connections). |
Linger | When set to True, connections are terminated gracefully. |
LocalHost | The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
LocalPort | The port in the local host to which the component binds. |
RemoteHost | The address of the remote host. Domain names are resolved to IP addresses. |
RemotePort | The UDP port in the remote host. |
Timeout | A timeout for the component. |
Method List
The following is the full list of the methods of the bean with short descriptions. Click on the links for further details.
config | Sets or retrieves a configuration setting . |
connect | Connects to a remote host. |
disconnect | Disconnects from the remote host. |
doEvents | Processes events from the internal message queue. |
interrupt | Interrupts the current action. |
send | Sends data to the remote host. |
sendFile | Sends file to the remote host. |
sendKeepAlive | Sends a keepalive packet. |
setReceiveStream | Sets the stream to which received data will be written. |
setSendStream | Reads content from the stream and sends it to the server. |
Event List
The following is the full list of the events fired by the bean with short descriptions. Click on the links for further details.
Connected | Fired immediately after a connection completes. |
ConnectionStatus | Fired to indicate changes in connection state. |
DataIn | Fired when data 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. |
Status | Fires with information about the operation. |
Configuration Settings
The following is a list of configuration settings for the bean with short descriptions. Click on the links for further details.
KeepAliveTime | The inactivity time in seconds before a keep-alive packet is sent. |
KeepAliveInterval | The retry interval, in seconds, to be used when a keep-alive packet is sent and no response is received. |
KeepAliveRetryCount | The number of times to retry sending the keep-alive packet when there is no response. |
RetransmitTimeout | The timeout in milliseconds between retransmit attempts. |
MaxRetransmitCount | The maximum number of retransmission attempts. |
LogOptions | The level of messages to log. |
MaxIncomingSegmentSize | The maximum segment size in bytes. |
MaxIncomingOutstandingCount | The maximum number of outstanding segments. |
SequencedDelivery | Whether the connection uses sequenced delivery. |
MaxOutgoingSegmentSize | The maximum segment size of the other party in bytes. |
MaxOutgoingOutstandingCount | The maximum number of outstanding segments when sending to other party. |
CaptureIPPacketInfo | Used to capture the packet information. |
DestinationAddress | Used to get the destination address from the packet information. |
LocalHost | The name of the local host through which connections are initiated or accepted. |
LocalPort | The TCP port in the local host where the component binds. |
MaxPacketSize | The maximum length of the packets that can be received. |
ShareLocalPort | If set to True, allows more than one instance of the component to be active on the same local port. |
UseConnection | Determines whether to use a connected socket. |
QOSDSCPValue | Used to specify an arbitrary QOS/DSCP setting (optional). |
QOSTrafficType | Used to specify QOS/DSCP settings (optional). |
UseIPv6 | Whether or not to use IPv6. |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
FirewallData | Used to send extra data to the firewall. |
InBufferSize | The size in bytes of the incoming queue of the socket. |
OutBufferSize | The size in bytes of the outgoing queue of the socket. |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
FirewallData | Used to send extra data to the firewall. |
InBufferSize | The size in bytes of the incoming queue of the socket. |
OutBufferSize | The size in bytes of the outgoing queue of the socket. |
CodePage | The system code page used for Unicode to Multibyte translations. |