0

ACE を使用して、UDP で特定のリスナー (ローカルホストを使用しています) にストリーム パケットを送信するプログラムを作成しようとしています。これは、リモート ピアから UDP データグラムのストリームを受信するプログラムをテストするためです。これまでのところ、ストリームをシミュレートすることはできましたが、実際のネットワークの接続を使用してデータを受信する方法がわかりません。

これはローカルホストに 60 パケットを送信するコード例ですが、送信者にとっては十分でしょうか?

int SendDatagram() 
{ 
    const char* message = "this is a message!\n"; 

    ACE_INET_Addr  sender    (27016, ACE_LOCALHOST); 
    ACE_INET_Addr  listener    (27015, ACE_LOCALHOST); 
    ACE_SOCK_DGRAM udp        (sender); 


    ssize_t sent;
    char buffer[BUFSIZ]; 
    size_t size = sizeof(buffer); 
    for (int i = 0; i < 60 ; i++)
    {
        sent = udp.send(message, ACE_OS_String::strlen(message) + 1, listener); 
        if (sent == -1) 
        { 
            ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("send")), -1); 
        } 
        cout << "sent:     " << sent << " bytes" << endl;
    }

    udp.close(); 

    return 0; 
} 
4

1 に答える 1