Помогите с boost::asio и UDP
От: Аноним  
Дата: 18.04.08 07:24
Оценка:
Привет!

Пишу программу которая с boost::asio 1.35.0, MSCV 8.1 которая читает из 7000 порта данные, которые посылаются UDP пакетами неким оборудованием. Операция чтения (socket.receive_from) в программе ниже под Windows XP завершается неуспешно с кодом 10022, сообщение: ""An invalid argument was supplied".

Что я делаю неправильно?



#include <iostream>
#include <boost/asio.hpp>

using boost::asio::ip::udp;

int main(int argc, char* argv[])
{
  try
  {
    boost::asio::io_service io_service;

    udp::endpoint sender_endpoint( udp::v4(), 7000 );

    udp::socket socket(io_service);
    socket.open( udp::v4() );

    char packet[1024];

    size_t len = socket.receive_from(boost::asio::buffer(packet), sender_endpoint);

    std::cout << "Works\n";
  }
  catch(const std::exception& e)
  {
    std::cerr << e.what() << std::endl;
  }
  return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.