Dart.PowerTCP.SslSockets Namespace > Udp Class > Open Method : Open(Int32) Method |
Allocate a socket at the specified port for sending and receiving datagrams.
[Visual Basic]
<DescriptionAttribute("Opens the specified local port and the default system address")>
Overloads Public Sub Open( _
ByVal port As Integer _
)
[C#]
[DescriptionAttribute("Opens the specified local port and the default system address")]
public void Open(
int port
);
[C++]
[DescriptionAttribute("Opens the specified local port and the default system address")]
public: void Open(
int port
)
[C++/CLI]
[DescriptionAttribute("Opens the specified local port and the default system address")]
public:
void Open(
int port
)
Exception | Description |
---|---|
ArgumentOutOfRangeException | The local port is out of the range of valid values. |
This method allocates a socket at the specified port and the default system address for sending and receiving datagrams. Upon successful completion of this method, the local address and port are accessible through the LocalEndPoint property. When using the default system address, the Udp.LocalEndPoint.Address property is "0.0.0.0".
This method must be called in order to successfully use Receive or BeginReceive.
The following example demonstrates creating a UDP echo server application which listens for datagrams and echoes them back to the sender.
[Visual Basic]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Listen for datagrams on port 7.
Udp1.Open(7)
' Begin an asynchronous Receive
Dim buffer(Udp1.BufferSize) As Byte
Udp1.BeginReceive(buffer)
End Sub
Private Sub Udp1_EndReceive(ByVal sender As Object, ByVal e As DatagramEventArgs) Handles Udp1.EndReceive
' Check for an Exception
If e.Exception is Nothing Then
' Echo the data back using the Datagram object passed into the event.
' Datagram.Buffer = data received from client
' Datagram.RemoteEndPoint = address/port of client.
Udp1.Send(e.Datagram.Buffer, e.Datagram.RemoteEndPoint)
End If
' Start receiving next
Dim buffer(Udp1.BufferSize) As Byte
Udp1.BeginReceive(buffer)
End Sub
[C#]
private void StartServer()
{
// Listen for datagrams on port 7.
udp1.Open(7);
// Begin an asynchronous Receive
byte[] buffer = new byte[udp1.BufferSize];
udp1.BeginReceive(buffer);
}
private void udp1_EndReceive(object
sender, DatagramEventArgs e)
{
// Check for an exception
if(e.Exception == null)
{
// Echo the data back using the Datagram object passed into the event.
// Datagram.Buffer = data received from client
// Datagram.RemoteEndPoint = address/port of client.
Datagram d = udp1.Send(e.Datagram.Buffer, e.Datagram.RemoteEndPoint);
}
// Start receiving next
byte[] buffer = new byte[udp1.BufferSize];
udp1.BeginReceive(buffer);
}
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Udp Class | Udp Members | Overload List
Send comments on this topic.
Documentation version 1.1.2.0.
© 2008 Dart Communications. All rights reserved.