Aracılığıyla paylaş


UdpClient.BeginSend Yöntem

Tanım

Uzak bir konağa zaman uyumsuz olarak bir veri birimi gönderir.

Aşırı Yüklemeler

BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object)

Bir hedefe zaman uyumsuz olarak bir veri birimi gönderir. Hedef, ana bilgisayar adı ve bağlantı noktası numarası ile belirtilir.

BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object)

Bir hedefe zaman uyumsuz olarak bir veri birimi gönderir. Hedef, tarafından EndPointbelirtilir.

BeginSend(Byte[], Int32, AsyncCallback, Object)

Uzak bir konağa zaman uyumsuz olarak bir veri birimi gönderir. Hedef daha önce çağrısıyla Connectbelirtildi.

BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object)

Kaynak:
UDPClient.cs
Kaynak:
UDPClient.cs
Kaynak:
UDPClient.cs

Bir hedefe zaman uyumsuz olarak bir veri birimi gönderir. Hedef, ana bilgisayar adı ve bağlantı noktası numarası ile belirtilir.

public:
 IAsyncResult ^ BeginSend(cli::array <System::Byte> ^ datagram, int bytes, System::String ^ hostname, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginSend (byte[] datagram, int bytes, string? hostname, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginSend (byte[] datagram, int bytes, string hostname, int port, AsyncCallback requestCallback, object state);
member this.BeginSend : byte[] * int * string * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (datagram As Byte(), bytes As Integer, hostname As String, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

Parametreler

datagram
Byte[]

Byte Gönderilecek verileri içeren bir dizi.

bytes
Int32

Gönderilecek bayt sayısı.

hostname
String

Hedef konak.

port
Int32

Hedef bağlantı noktası numarası.

requestCallback
AsyncCallback

AsyncCallback İşlem tamamlandığında çağırma yöntemine başvuran bir temsilci.

state
Object

Gönderme işlemi hakkında bilgi içeren kullanıcı tanımlı bir nesne. İşlem tamamlandığında bu nesne temsilciye requestCallback geçirilir.

Döndürülenler

IAsyncResult Zaman uyumsuz göndermeye başvuran bir nesne.

Örnekler

Aşağıdaki kod örneği, zaman uyumsuz olarak bir sunucu isteği göndermek için kullanır BeginSend .

public:
    static bool isMessageSent;

    static void SendCallback(IAsyncResult^ asyncResult)
    {
        UdpClient^ udpClient = (UdpClient^)asyncResult->AsyncState;

        Console::WriteLine("number of bytes sent: {0}",
            udpClient->EndSend(asyncResult));
        isMessageSent = true;
    }
public static bool messageSent = false;

public static void SendCallback(IAsyncResult ar)
{
    UdpClient u = (UdpClient)ar.AsyncState;

    Console.WriteLine($"number of bytes sent: {u.EndSend(ar)}");
    messageSent = true;
}
public:
    static void SendMessage3(String^ server, String^ message)
    {
        // create the udp socket
        UdpClient^ udpClient = gcnew UdpClient();

        array<Byte>^ sendBytes = Encoding::ASCII->GetBytes(message);

        // send the message
        // the destination is defined by the server name and port
        udpClient->BeginSend(sendBytes, sendBytes->Length, server, listenPort,
            gcnew AsyncCallback(SendCallback), udpClient);

        // Do some work while we wait for the send to complete. For
        // this example, we'll just sleep
        while (!isMessageSent)
        {
            Thread::Sleep(100);
        }
    }
static void SendMessage3(string server, string message)
{
    // create the udp socket
    UdpClient u = new UdpClient();

    byte[] sendBytes = Encoding.ASCII.GetBytes(message);

    // send the message
    // the destination is defined by the server name and port
    u.BeginSend(sendBytes, sendBytes.Length, server, s_listenPort, new AsyncCallback(SendCallback), u);

    // Do some work while we wait for the send to complete. For this example, we'll just sleep
    while (!messageSent)
    {
        Thread.Sleep(100);
    }
}

Açıklamalar

Zaman uyumsuz BeginSend işlem yöntemi çağrılarak EndSend tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır requestCallback .

İşlem tamamlanana kadar bu yöntem engellemez. İşlem tamamlanana kadar engellemek için yöntem aşırı yüklemelerinden Send birini kullanın.

Zaman uyumsuz programlama modelini kullanma hakkında ayrıntılı bilgi için bkz. Zaman Uyumlu Yöntemleri Zaman Uyumsuz Olarak Çağırma.

Şunlara uygulanır

BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object)

Kaynak:
UDPClient.cs
Kaynak:
UDPClient.cs
Kaynak:
UDPClient.cs

Bir hedefe zaman uyumsuz olarak bir veri birimi gönderir. Hedef, tarafından EndPointbelirtilir.

public:
 IAsyncResult ^ BeginSend(cli::array <System::Byte> ^ datagram, int bytes, System::Net::IPEndPoint ^ endPoint, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginSend (byte[] datagram, int bytes, System.Net.IPEndPoint? endPoint, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginSend (byte[] datagram, int bytes, System.Net.IPEndPoint endPoint, AsyncCallback requestCallback, object state);
member this.BeginSend : byte[] * int * System.Net.IPEndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (datagram As Byte(), bytes As Integer, endPoint As IPEndPoint, requestCallback As AsyncCallback, state As Object) As IAsyncResult

Parametreler

datagram
Byte[]

Byte Gönderilecek verileri içeren bir dizi.

bytes
Int32

Gönderilecek bayt sayısı.

endPoint
IPEndPoint

EndPoint Verilerin hedefini temsil eden.

requestCallback
AsyncCallback

AsyncCallback İşlem tamamlandığında çağırma yöntemine başvuran bir temsilci.

state
Object

Gönderme işlemi hakkında bilgi içeren kullanıcı tanımlı bir nesne. İşlem tamamlandığında bu nesne temsilciye requestCallback geçirilir.

Döndürülenler

IAsyncResult Zaman uyumsuz göndermeye başvuran bir nesne.

Örnekler

Aşağıdaki kod örneği, zaman uyumsuz olarak bir sunucu isteği göndermek için kullanır BeginSend .

public:
    static bool isMessageSent;

    static void SendCallback(IAsyncResult^ asyncResult)
    {
        UdpClient^ udpClient = (UdpClient^)asyncResult->AsyncState;

        Console::WriteLine("number of bytes sent: {0}",
            udpClient->EndSend(asyncResult));
        isMessageSent = true;
    }
public static bool messageSent = false;

public static void SendCallback(IAsyncResult ar)
{
    UdpClient u = (UdpClient)ar.AsyncState;

    Console.WriteLine($"number of bytes sent: {u.EndSend(ar)}");
    messageSent = true;
}
public:
    static void SendMessage2(String^ server, String^ message)
    {
        // create the udp socket
        UdpClient^ udpClient = gcnew UdpClient();
        array<Byte>^ sendBytes = Encoding::ASCII->GetBytes(message);

        // resolve the server name
        IPHostEntry^ resolvedServer = Dns::GetHostEntry(server);

        IPEndPoint^ ipEndPoint =
            gcnew IPEndPoint(resolvedServer->AddressList[0], listenPort);

        // send the message
        // the destination is defined by the IPEndPoint
        udpClient->BeginSend(sendBytes, sendBytes->Length, ipEndPoint,
            gcnew AsyncCallback(SendCallback), udpClient);

        // Do some work while we wait for the send to complete. For
        // this example, we'll just sleep
        while (!isMessageSent)
        {
            Thread::Sleep(100);
        }
    }
static void SendMessage2(string server, string message)
{
    // create the udp socket
    UdpClient u = new UdpClient();
    byte[] sendBytes = Encoding.ASCII.GetBytes(message);

    // resolve the server name
    IPHostEntry heserver = Dns.GetHostEntry(server);

    IPEndPoint e = new IPEndPoint(heserver.AddressList[0], s_listenPort);

    // send the message
    // the destination is defined by the IPEndPoint
    u.BeginSend(sendBytes, sendBytes.Length, e, new AsyncCallback(SendCallback), u);

    // Do some work while we wait for the send to complete. For this example, we'll just sleep
    while (!messageSent)
    {
        Thread.Sleep(100);
    }
}

Açıklamalar

Zaman uyumsuz BeginSend işlem yöntemi çağrılarak EndSend tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır requestCallback .

İşlem tamamlanana kadar bu yöntem engellemez. İşlem tamamlanana kadar engellemek için yöntem aşırı yüklemelerinden Send birini kullanın.

Zaman uyumsuz programlama modelini kullanma hakkında ayrıntılı bilgi için bkz. Zaman Uyumlu Yöntemleri Zaman Uyumsuz Olarak Çağırma.

Şunlara uygulanır

BeginSend(Byte[], Int32, AsyncCallback, Object)

Kaynak:
UDPClient.cs
Kaynak:
UDPClient.cs
Kaynak:
UDPClient.cs

Uzak bir konağa zaman uyumsuz olarak bir veri birimi gönderir. Hedef daha önce çağrısıyla Connectbelirtildi.

public:
 IAsyncResult ^ BeginSend(cli::array <System::Byte> ^ datagram, int bytes, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginSend (byte[] datagram, int bytes, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginSend (byte[] datagram, int bytes, AsyncCallback requestCallback, object state);
member this.BeginSend : byte[] * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (datagram As Byte(), bytes As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

Parametreler

datagram
Byte[]

Byte Gönderilecek verileri içeren bir dizi.

bytes
Int32

Gönderilecek bayt sayısı.

requestCallback
AsyncCallback

AsyncCallback İşlem tamamlandığında çağırma yöntemine başvuran bir temsilci.

state
Object

Gönderme işlemi hakkında bilgi içeren kullanıcı tanımlı bir nesne. İşlem tamamlandığında bu nesne temsilciye requestCallback geçirilir.

Döndürülenler

IAsyncResult Zaman uyumsuz göndermeye başvuran bir nesne.

Örnekler

Aşağıdaki kod örneği, zaman uyumsuz olarak bir sunucu isteği göndermek için kullanır BeginSend .

public:
    static bool isMessageSent;

    static void SendCallback(IAsyncResult^ asyncResult)
    {
        UdpClient^ udpClient = (UdpClient^)asyncResult->AsyncState;

        Console::WriteLine("number of bytes sent: {0}",
            udpClient->EndSend(asyncResult));
        isMessageSent = true;
    }
public static bool messageSent = false;

public static void SendCallback(IAsyncResult ar)
{
    UdpClient u = (UdpClient)ar.AsyncState;

    Console.WriteLine($"number of bytes sent: {u.EndSend(ar)}");
    messageSent = true;
}
public:
    static void SendMessage1(String^ server, String^ message)
    {
        // create the udp socket
        UdpClient^ udpClient = gcnew UdpClient();

        udpClient->Connect(server, listenPort);
        array<Byte>^ sendBytes = Encoding::ASCII->GetBytes(message);

        // send the message
        // the destination is defined by the call to .Connect()
        udpClient->BeginSend(sendBytes, sendBytes->Length,
            gcnew AsyncCallback(SendCallback), udpClient);

        // Do some work while we wait for the send to complete. For
        // this example, we'll just sleep
        while (!isMessageSent)
        {
            Thread::Sleep(100);
        }
    }
static void SendMessage1(string server, string message)
{
    // create the udp socket
    UdpClient u = new UdpClient();

    u.Connect(server, s_listenPort);
    byte[] sendBytes = Encoding.ASCII.GetBytes(message);

    // send the message
    // the destination is defined by the call to .Connect()
    u.BeginSend(sendBytes, sendBytes.Length, new AsyncCallback(SendCallback), u);

    // Do some work while we wait for the send to complete. For this example, we'll just sleep
    while (!messageSent)
    {
        Thread.Sleep(100);
    }
}

Açıklamalar

Zaman uyumsuz BeginSend işlem yöntemi çağrılarak EndSend tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır requestCallback .

Bu yöntem işlem tamamlanana kadar engellemez. İşlem tamamlanana kadar engellemek için yöntem aşırı yüklemelerinden Send birini kullanın.

Zaman uyumsuz programlama modelini kullanma hakkında ayrıntılı bilgi için bkz. Zaman Uyumlu Yöntemleri Zaman Uyumsuz Olarak Çağırma.

Şunlara uygulanır