C ++, как я могу получить потоковые пакеты с интернет-сайта на мой локальный хост

0

Я пытаюсь написать программу, которая отправляет потоковые пакеты определенному слушателю (я использую свой localhost) в UDP, используя ACE. Это делается для проверки моей программы, которая получает поток дейтаграмм 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; 
} 
  • 2
    «UDP» и «поток» в той же последовательности? Вы пытаетесь записать "TCP"?
  • 0
    Куда отправляется заявлено? Почему вы получаете пакеты, а затем проверяете отправленные, а не полученные - это ваш настоящий код? Во всяком случае, вы на самом деле тестировали свой код с удаленным одноранговым ACE_LOCALHOST и адресами одноранговых ACE_LOCALHOST вместо ACE_LOCALHOST ?
Показать ещё 2 комментария
Теги:
networking
sockets
stream
ace

1 ответ

0
Лучший ответ

Проверьте главу 9 Руководства программистов ACE (см. Http://www.amazon.com/exec/obidos/ASIN/0201699710/theaceorb-20) о том, как работает UDP с ACE. См. ACE_wrappers/examples/APG/Misc_IPC для кода, относящегося к этому разделу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню