|
|
Udp
|
public class UdpClient : ClientBase
The UdpClient type exposes the following members.
| Name | Description | |
|---|---|---|
| UdpClient | Initializes a new instance of the UdpClient class. | |
| UdpClient(IContainer) | Initializes a new instance of the UdpClient class. | |
| UdpClient(String) | Initializes a new instance of the UdpClient class. |
| Name | Description | |
|---|---|---|
| AllowDualStackSocket | Gets or sets a boolean value that determines if dual-mode socket is allowed when endpoint address is IPv6. | |
| CanRaiseEvents | Gets a value indicating whether the component can raise an event. (Inherited from Component) | |
| Client | Gets the Socket object for the UdpClient. | |
| ConnectionString |
Gets or sets the data required by the client to connect to the server.
(Inherited from ClientBase) | |
| ConnectionTime |
Gets the Time for which the client has been connected to the server.
(Inherited from ClientBase) | |
| Container | Gets the IContainer that contains the Component. (Inherited from Component) | |
| CurrentState |
Gets the current ClientState.
(Inherited from ClientBase) | |
| DesignMode | Gets a value that indicates whether the Component is currently in design mode. (Inherited from Component) | |
| Enabled |
Gets or sets a boolean value that indicates whether the client is currently enabled.
(Inherited from ClientBase) | |
| Events | Gets the list of event handlers that are attached to this Component. (Inherited from Component) | |
| IsDisposed |
Gets a flag that indicates whether the object has been disposed.
(Inherited from ClientBase) | |
| MaxConnectionAttempts |
Gets or sets the maximum number of times the client will attempt to connect to the server.
(Inherited from ClientBase) | |
| MaxPacketSize | Gets or sets the maximum expected size for packets being received by this UdpClient. | |
| MaxSendQueueSize | Gets or sets the maximum size for the send queue before payloads are dumped from the queue. | |
| Name |
Gets the unique identifier of the client.
(Inherited from ClientBase) | |
| PersistSettings |
Gets or sets a boolean value that indicates whether the client settings are to be saved to the config file.
(Inherited from ClientBase) | |
| ReadIndex |
Gets or sets current read index for received data buffer incremented at each Read(Byte, Int32, Int32) call.
(Inherited from ClientBase) | |
| ReceiveBufferSize |
Gets or sets the size of the buffer used by the client for receiving data from the server.
(Overrides ClientBaseReceiveBufferSize) | |
| ReceivePacketInfo | Gets or sets the flag that determines whether the UDP client should attempt to receive packet info when receiving data from the socket. | |
| SendBufferSize |
Gets or sets the size of the buffer used by the client for sending data to the server.
(Inherited from ClientBase) | |
| ServerIndex |
Gets the current server index, when multiple server end points are defined.
(Inherited from ClientBase) | |
| ServerUri |
Gets the server URI of the UdpClient.
(Overrides ClientBaseServerUri) | |
| SettingsCategory |
Gets or sets the category under which the client settings are to be saved to the config file if the PersistSettings property is set to true.
(Inherited from ClientBase) | |
| Site | Gets or sets the ISite of the Component. (Inherited from Component) | |
| Statistics |
Gets the TransportStatistics for the client connection.
(Inherited from ClientBase) | |
| Status |
Gets the descriptive status of the client.
(Overrides ClientBaseStatus) | |
| TextEncoding |
Gets or sets the Encoding to be used for the text sent to the server.
(Inherited from ClientBase) | |
| TrackStatistics |
Determines whether the base class should track statistics.
(Overrides ClientBaseTrackStatistics) | |
| TransportProtocol |
Gets the TransportProtocol used by the client for the transportation of data with the server.
(Inherited from ClientBase) |
| Name | Description | |
|---|---|---|
| AddMulticastMembership | Adds a multicast membership to the UDP socket. | |
| BeginInit |
Performs necessary operations before the client properties are initialized.
(Inherited from ClientBase) | |
| Connect |
Connects the client to the server synchronously.
(Inherited from ClientBase) | |
| ConnectAsync |
Connects the UdpClient to the server asynchronously.
(Overrides ClientBaseConnectAsync) | |
| CreateObjRef | Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject) | |
| Disconnect |
Disconnects the UdpClient from the connected server synchronously.
(Overrides ClientBaseDisconnect) | |
| Dispose | Releases all resources used by the Component. (Inherited from Component) | |
| Dispose(Boolean) |
Releases the unmanaged resources used by the UdpClient and optionally releases the managed resources.
(Overrides ClientBaseDispose(Boolean)) | |
| DropMulticastMembership | Drops a multicast membership from the UDP socket. | |
| EndInit |
Performs necessary operations after the client properties are initialized.
(Inherited from ClientBase) | |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) | |
| Finalize | Releases unmanaged resources and performs other cleanup operations before the Component is reclaimed by garbage collection. (Inherited from Component) | |
| GetHashCode | Serves as the default hash function. (Inherited from Object) | |
| GetLifetimeService | Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject) | |
| GetService | Returns an object that represents a service provided by the Component or by its Container. (Inherited from Component) | |
| GetType | Gets the Type of the current instance. (Inherited from Object) | |
| Initialize |
Initializes the client.
(Inherited from ClientBase) | |
| InitializeLifetimeService | Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject) | |
| LoadSettings |
Loads saved TcpServer settings from the config file if the PersistSettings property is set to true.
(Overrides ClientBaseLoadSettings) | |
| MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object) | |
| MemberwiseClone(Boolean) | Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject) | |
| OnConnectionAttempt |
Raises the ConnectionAttempt event.
(Inherited from ClientBase) | |
| OnConnectionEstablished |
Raises the ConnectionEstablished event.
(Inherited from ClientBase) | |
| OnConnectionException |
Raises the ConnectionException event.
(Overrides ClientBaseOnConnectionException(Exception)) | |
| OnConnectionTerminated |
Raises the ConnectionTerminated event.
(Overrides ClientBaseOnConnectionTerminated) | |
| OnReceiveData |
Raises the ReceiveData event.
(Inherited from ClientBase) | |
| OnReceiveDataComplete |
Raises the ReceiveDataComplete event.
(Inherited from ClientBase) | |
| OnReceiveDataException |
Raises the ReceiveDataException event.
(Overrides ClientBaseOnReceiveDataException(Exception)) | |
| OnSendDataComplete |
Raises the SendDataComplete event.
(Inherited from ClientBase) | |
| OnSendDataException |
Raises the SendDataException event.
(Overrides ClientBaseOnSendDataException(Exception)) | |
| OnSendDataStart |
Raises the SendDataStart event.
(Inherited from ClientBase) | |
| OnUnhandledUserException |
Raises the UnhandledUserException event.
(Inherited from ClientBase) | |
| Read |
Reads a number of bytes from the current received data buffer and writes those bytes into a byte array at the specified offset.
(Overrides ClientBaseRead(Byte, Int32, Int32)) | |
| RequestNextServerIndex |
Requests that the client attempt to move to the next ServerIndex.
(Inherited from ClientBase) | |
| SaveSettings |
Saves TcpServer settings to the config file if the PersistSettings property is set to true.
(Overrides ClientBaseSaveSettings) | |
| Send(Byte) |
Sends data to the server synchronously.
(Inherited from ClientBase) | |
| Send(Object) |
Sends data to the server synchronously.
(Inherited from ClientBase) | |
| Send(String) |
Sends data to the server synchronously.
(Inherited from ClientBase) | |
| Send(Byte, Int32, Int32) |
Sends data to the server synchronously.
(Inherited from ClientBase) | |
| SendAsync(Byte) |
Sends data to the server asynchronously.
(Inherited from ClientBase) | |
| SendAsync(Object) |
Sends data to the server asynchronously.
(Inherited from ClientBase) | |
| SendAsync(String) |
Sends data to the server asynchronously.
(Inherited from ClientBase) | |
| SendAsync(Byte, Int32, Int32) |
Sends data to the server asynchronously.
(Inherited from ClientBase) | |
| SendDataAsync |
Sends data to the server asynchronously.
(Overrides ClientBaseSendDataAsync(Byte, Int32, Int32)) | |
| SendDataToAsync | Sends data to the server asynchronously. | |
| ToString | Returns a String containing the name of the Component, if any. This method should not be overridden. (Inherited from Component) | |
| UpdateBytesReceived |
Updates the Statistics pertaining to bytes received.
(Inherited from ClientBase) | |
| UpdateBytesSent |
Updates the Statistics pertaining to bytes sent.
(Inherited from ClientBase) | |
| ValidateConnectionString |
Validates the specified connectionString.
(Overrides ClientBaseValidateConnectionString(String)) |
| Name | Description | |
|---|---|---|
| ConnectionAttempt |
Occurs when client is attempting connection to the server.
(Inherited from ClientBase) | |
| ConnectionEstablished |
Occurs when client connection to the server is established.
(Inherited from ClientBase) | |
| ConnectionException |
Occurs when an Exception is encountered during connection attempt to the server.
(Inherited from ClientBase) | |
| ConnectionTerminated |
Occurs when client connection to the server is terminated.
(Inherited from ClientBase) | |
| Disposed | Occurs when the component is disposed by a call to the Dispose method. (Inherited from Component) | |
| ReceiveData |
Occurs when unprocessed data has been received from the server.
(Inherited from ClientBase) | |
| ReceiveDataComplete |
Occurs when data received from the server has been processed and is ready for consumption.
(Inherited from ClientBase) | |
| ReceiveDataException |
Occurs when an Exception is encountered when receiving data from the server.
(Inherited from ClientBase) | |
| ReceiveDataFrom | Occurs when unprocessed data has been received from the server. | |
| ReceiveDataFromComplete | Occurs when data received from the server has been processed and is ready for consumption. | |
| SendDataComplete |
Occurs when the client has successfully sent data to the server.
(Inherited from ClientBase) | |
| SendDataException |
Occurs when an Exception is encountered when sending data to the server.
(Inherited from ClientBase) | |
| SendDataStart |
Occurs when the client begins sending data to the server.
(Inherited from ClientBase) | |
| UnhandledUserException |
Occurs when an Exception is encountered in a user-defined function via an event dispatch.
(Inherited from ClientBase) |
| Name | Description | |
|---|---|---|
| DefaultAllowDualStackSocket | Specifies the default value for the AllowDualStackSocket property. | |
| DefaultConnectionString | Specifies the default value for the ConnectionString property. | |
| DefaultMaxPacketSize | Specifies the default value for the MaxPacketSize property. | |
| DefaultMaxSendQueueSize | Specifies the default value for the MaxSendQueueSize property. | |
| DefaultReceiveBufferSize | Specifies the default value for the ReceiveBufferSize property. |
| Name | Description | |
|---|---|---|
| GetEnumValueOrDefault |
Gets the enumeration constant for value, if defined in the enumeration, or a default value.
(Defined by EnumExtensions) | |
| GetEnumValueOrDefaultT |
Gets the enumeration constant for this value, if defined in the enumeration, or a default value.
(Defined by EnumExtensions) |
Use UdpClient when the primary purpose is to receive data.
The Client socket can be bound to a specified interface on a machine with multiple interfaces by specifying the interface in the ConnectionString (Example: "Server=localhost:8888; Port=8989; Interface=127.0.0.1")
The Client socket can be used just for transmitting data without being bound to a local interface by specifying -1 for the port number in the ConnectionString (Example: "Server=localhost:8888; Port=-1")
using System; using GSF; using GSF.Communication; using GSF.Security.Cryptography; using GSF.IO.Compression; class Program { static UdpClient s_client; static void Main(string[] args) { // Initialize the client. s_client = new UdpClient("Server=localhost:8888; Port=8989"); s_client.Handshake = false; s_client.ReceiveTimeout = -1; s_client.Encryption = CipherStrength.None; s_client.Compression = CompressionStrength.NoCompression; s_client.SecureSession = false; s_client.Initialize(); // Register event handlers. s_client.ConnectionAttempt += s_client_ConnectionAttempt; s_client.ConnectionEstablished += s_client_ConnectionEstablished; s_client.ConnectionTerminated += s_client_ConnectionTerminated; s_client.ReceiveDataComplete += s_client_ReceiveDataComplete; // Connect the client. s_client.Connect(); // Transmit user input to the server. string input; while (string.Compare(input = Console.ReadLine(), "Exit", true) != 0) { s_client.Send(input); } // Disconnect the client on shutdown. s_client.Dispose(); } static void s_client_ConnectionAttempt(object sender, EventArgs e) { Console.WriteLine("Client is connecting to server."); } static void s_client_ConnectionEstablished(object sender, EventArgs e) { Console.WriteLine("Client connected to server."); } static void s_client_ConnectionTerminated(object sender, EventArgs e) { Console.WriteLine("Client disconnected from server."); } static void s_client_ReceiveDataComplete(object sender, EventArgs<byte[], int> e) { Console.WriteLine(string.Format("Received data - {0}.", s_client.TextEncoding.GetString(e.Argument1, 0, e.Argument2))); } }