Привет!
Пишу программу которая с 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;
}